• 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]

  • 相关阅读:
    「2019.7.25 考试」偶然发生
    「刷题」可怜与STS
    「刷题」小星星
    「刷题」数三角形
    「刷题」 关于线段上的整点个数
    「刷题」Color 群论
    「2019.7.22 考试」AC和WA0一步之遥
    「刷题」幸运数字
    「刷题」卡特兰数&prufer序列
    「刷题」一个人的数论
  • 原文地址:https://www.cnblogs.com/dennisit/p/4552366.html
Copyright © 2020-2023  润新知