activemq持久化
ActiveMQ提供了插件式的消息存储,主要有有如下几种:
1.AMQ消息存储-基于文件的存储方式,是以前的默认消息存储
2.KahaDB消息存储-提供了容量的提升和恢复能力,是现在的默认存储方式
3.JDBC消息存储-消息基于JDBC存储的
4.Memory消息存储-基于内存的消息存储
KahaDB持久化
kahadb是默认消息存储配置文件activemq.xml中beans下有
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
JDBC持久化
对配置文件activemq.xml中beans进行修改把默认的更换成。
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds"/>
</persistenceAdapter>
同时添加相应的bean,也必须在数据库新建相应的表。
<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?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="@Root123456"/>
<property name="initialSize" value="5" />
<property name="maxTotal" value="100" />
<property name="maxIdle" value="30" />
<property name="maxWaitMillis" value="10000" />
<property name="minIdle" value="1" />
</bean>
测试
测试死信队列,是否存入相应的数据库中