activeMQ 持久化配置

Posted zlfoak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activeMQ 持久化配置相关的知识,希望对你有一定的参考价值。

Mac 中安装activeMQ

  brew install activemq

启动

  activemq start

控制台:在浏览器中输入url: http://localhost:8161/

 

A:持久化为文件

     这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了。涉及到的配置和代码有

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

producer.Send(request, MsgDeliveryMode.Persistent, level, TimeSpan.MinValue);

B:持久化为mysql

     你首先需要把MySql的驱动放到ActiveMQ的Lib目录下,我用的文件名字是:mysql-connector-java-5.0.4-bin.jar

     接下来你修改配置文件

<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
</persistenceAdapter>

在配置文件中的broker节点外增加

技术分享
<bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>
<property name="username" value="activemq"/>
<property name="password" value="activemq"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
技术分享

从配置中可以看出数据库的名称是activemq,你需要手动在MySql中增加这个库。

然后重新启动消息队列,你会发现多了3张表

1:activemq_acks

2:activemq_lock

3:activemq_msgs

C:持久化为Oracle

    和持久化为MySql一样。

 

以上是关于activeMQ 持久化配置的主要内容,如果未能解决你的问题,请参考以下文章

activemq持久化之mysql配置

使用jdbc实现ActiveMQ持久化

ActiveMQ-持久化存储方式

ActiveMQ消息持久化存储策略

ActiveMQ使用JDBC持久化

ActiveMQ持久化到mysql实现消息永不丢失