Activemq持久化数据库(mysql)

本文详细介绍如何将ActiveMQ的kahadb持久化方式替换为MySQL,包括修改activemq.xml中的persistenceAdapter标签,配置mysql-ds数据源,以及解决activemq5.13.2版本中使用dbcp2驱动的常见问题。
摘要由CSDN通过智能技术生成

首先找到你的文件activemq.xml(activemq的解压地址/conf/activemq.xml)

找到persistenceAdapter标签

        <persistenceAdapter >
        		 <jdbcPersistenceAdapter  dataSource="#mysql-ds"/>
           <!-- <kahaDB directory="${activemq.data}/kahadb"/> -->
        </persistenceAdapter>

把之前的kahadb替换掉换成mysql的方式

下面需要配置mysql方式

	<bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
			<property name="driverClassName" value="com.mysql.jdbc.Driver"/>驱动
			<property name="url" value="jdbc:mysql://localhost:3306/activemq?relaxAutoCommit = true"/>连接的数据库
			<property name="username" value="root"/>用户名
			<property name="password" value="root"/>密码
            <property name="maxTotal" value="200"/>最大连接
			<property name="poolPreparedStatements" value="true"/>
	</bean>

broker的闭签下把上面代码引入进去

需要注意的点在

<bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

因为activemq5.13.2   自身提供的是commons-dbcp2-2.1.1.jar 这个版本的jar包,

如果填写(使用)org.apache.commons.dbcp.BasicDataSource,就会提示找不到类,因为org.apache.commons.dbcp.BasicDataSource 在dbcp1.x中 不在dbcp2.x中。

 

然后启动activemq.bat:如果在启动是报bean标签的错你就得手打一遍了  因为不同的文本编码格式原因

如果你启动是报dbcp的错那么你就得找dbcp和commons poil的jar包了

 

如果你启动成功的话数据库会自动给你建三张表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值