activemq持久化

ActiveMQ提供了插件式的消息存储,主要有有如下几种:

  1.AMQ消息存储-基于文件的存储方式,是以前的默认消息存储

  2.KahaDB消息存储-提供了容量的提升和恢复能力,是现在的默认存储方式

  3.JDBC消息存储-消息基于JDBC存储的

  4.Memory消息存储-基于内存的消息存储

 

KahaDB持久化

       kahadb是默认消息存储配置文件activemq. 中beans下有

<persistenceAdapter>

            <kahaDB directory=\"${activemq.data}/kahadb\"/>

        </persistenceAdapter>

 

JDBC持久化

       对配置文件activemq. 中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>

 

测试

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

 

收藏 打印