首先找到你的文件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包了
如果你启动成功的话数据库会自动给你建三张表