Activemq消息持久化


官方文檔: http://activemq.apache.org/persistence.html

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

官方默認的持久化為Kahadb:

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

可以稍作調優:

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

實例展示使用mysql持久化:

修改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類型消息:

消息被消費了之后持久化的記錄會刪除.

問題: 測試過程中持久化感覺性能不好,而且消息消費容易鎖住.希望得到好的意見和建議 共同學習.

轉載請注明出處:[http://www.cnblogs.com/dennisit/p/4552366.html]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM