Activemq消息持久化

官方文档: http://activemq.apache.org/persistence.htmlhtml

ActiveMq持久化相关配置:/usr/local/apache-activemq-5.11.1/conf/activemq.xmlmysql

官方默认的持久化为Kahadb:sql

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

能够稍做调优:数据库

<persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb" indexWriteBatchSize="1000" journalMaxFileLength="32mb" enableIndexWriteAsync="true" enableJournalDiskSyncs="false"/>
</persistenceAdapter>

实例展现使用mysql持久化:apache

修改persistenceAdapter节点:性能

<persistenceAdapter>
     <jdbcPersistenceAdapter  directory="${activemq.data}/mysqldb" dataSource="#ds-mysql"/>
</persistenceAdapter>
在<import resource="jetty.xml"/>节点前面增长mysql的相关配置信息
<bean id="ds-mysql" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://192.168.147.131:3306/activemq?relaxAutoCommit=true"/>
    <property name="username" value="root"/>
    <property name="password" value="123456"/>
    <property name="maxActive" value="200"/>
    <property name="poolPreparedStatements" value="true"/>
</bean>

添加依赖的dbcp和mysql驱动包到lib学习

建立activemq数据库重启Activemq,能够看到在activemq库中增长了三个表测试

发送queue类型消息:url

消息被消费了以后持久化的记录会删除.spa

问题: 测试过程当中持久化感受性能很差,并且消息消费容易锁住.但愿获得好的意见和建议 共同窗习.

转载请注明出处:[http://www.cnblogs.com/dennisit/p/4552366.html]