ActiveMQ_6持久化

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>

测试

       测试死信队列,是否存入相应的数据库中

原文地址:https://www.cnblogs.com/zhiboluo/p/10115563.html