官方文檔: 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
問題: 測試過程當中持久化感受性能很差,並且消息消費容易鎖住.但願獲得好的意見和建議 共同窗習.