activeMQ学习(1)---------消息持久化服务器配置

1)官方默认的持久化为Kahadb,其配置在/usr/local/apache-activemq-5.15.0/conf/activemq.xml

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


director:KahaDB存放的路径,默认值activemq-data
indexWriteBatchSize: 批量写入磁盘的索引page数量,默认值1000
indexCacheSize:内存中缓存索引page的数量,默认值10000
enableIndexWriteAsync:是否异步写出索引,默认false
journalMaxFileLength:设置每个消息data log的大小,默认是32MB
enableJournalDiskSyncs:设置是否保证每个没有事务的内容,被同步写入磁盘,JMS持久化的时候需要,默认为true
cleanupInterval:在检查到不再使用的消息后,在具体删除消息前的时间,默认30000
checkpointInterval:checkpoint的间隔时间,默认5000
ignoreMissingJournalfiles:是否忽略丢失的消息日志文件,默认false
checkForCorruptJournalFiles:在启动的时候,将会验证消息文件是否损坏,默认false
checksumJournalFiles:是否为每个消息日志文件提供checksum,默认false
archiveDataLogs: 是否移动文件到特定的路径,而不是删除它们,默认false
directoryArchive:定义消息已经被消费过后,移动data log到的路径,默认null
:databaseLockedWaitDelay:获得数据库锁的等待时间 (used by shared master/slave),默认10000
maxAsyncJobs:设置最大的可以存储的异步消息队列,默认值10000,可以和concurrentMessageProducers 设置成一样的值
concurrentStoreAndDispatchTransactions:是否分发消息到客户端,同时事务存储消息,默认true
concurrentStoreAndDispatchTopics:是否分发Topic消息到客户端,同时进行存储,默认true
concurrentStoreAndDispatchQueues:是否分发queue消息到客户端,同时进行存储,默认true

 2)mysql的持久化配置

    第一步:commons-dbcp 与mysql-connector的jar放在apache-activemq-5.15.0\lib\的目录里

   第二步:在mysql数据库中创建数据库名为activemq的数据库

   第三步:将官方默认的persistenceAdapter配置改为如下:

1 <persistenceAdapter>
2         <jdbcPersistenceAdapter  dataDirectory="${activemq.data}" dataSource="#ds-mysql" />
3 </persistenceAdapter>

  第四步:在<import resource="jetty.xml"/>前添加如下信息:

1 <bean id="ds-mysql" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
2         <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
3         <property name="url" value="jdbc:mysql://localhost:3306/activemq?useUnicode=true&amp;characterEncoding=UTF-8&amp;relaxAutoCommit=true$amp ;useTimezone=true&amp;serverTimezone=GMT%2B8:00&amp;zeroDateTimeBehavior=round"/>
4         <property name="username" value="root"/>
5         <property name="password" value="XXXX"/>
6         <property name="maxTotal" value="200"/>
7         <property name="poolPreparedStatements" value="true"/>
8     </bean>

在上面的url地址配置,下面的设置可要可不要,要根据自己环境需求配置

 1 useUnicode=true&amp;characterEncoding=UTF-8&amp;relaxAutoCommit=true$amp ;useTimezone=true&amp;serverTimezone=GMT%2B8:00&amp; 

 

posted @ 2017-07-18 11:24  bie拿发型挑战我  阅读(301)  评论(0编辑  收藏  举报