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>

 

测试

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

 

posted on 2018-12-13 18:07  纸菠萝  阅读(259)  评论(0编辑  收藏  举报