ActiveMQ学习记录 之 消息持久化
2017-11-01 00:00
274 查看
1:前言
这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。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一样。这里我说两点1;在ActiveMQ安装文件夹里的Lib文件夹中增加Oracle的JDBC驱动。驱动文件位于Oracle客户端安装文件中的product\11.1.0\client_1\jdbc\lib文件夹下。
2:
<bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1"/> <property name="username" value="qdcommu"/> <property name="password" value="qdcommu"/> <property name="maxActive" value="200"/> <property name="poolPreparedStatements" value="true"/> </bean>
这里的jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1按照自己实际情况设置一下就可以了,特别注意的是cmfudv1是SID即服务名称而不是TNS中配置的节点名。各位同学只需要替换IP,端口和这个SID就可以了。
相关文章推荐
- 3、ActiveMQ学习记录 之 消息持久化
- JMS学习(七)-ActiveMQ消息的持久存储方式之KahaDB存储
- ActiveMQ 学习记录 之 什么是消息队列
- JMS学习(五)--ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
- Java消息中间件学习笔记四 -- ActiveMQ的使用,【队列模式】
- ActiveMQ消息持久化到Mysql数据库
- Java消息中间件学习笔记八 -- ActiveMQ集群
- 学习淘淘商城第五十八课(ActiveMQ发送topic消息和接收topic消息)
- ActiveMQ学习笔记-消息特性
- JMS消息持久化,将ActiveMQ消息持久化到mySql数据库中
- 消息队列开发记录笔记-ActiveMQ
- ActiveMQ学习总结(4)——业界消息队列简介
- 2、ActiveMQ 学习记录 之 基本通信方式
- JMS学习三(ActiveMQ消息的可靠性)
- ActiveMQ学习总结(8)——消息队列设计精要
- NSQ:分布式消息队列学习记录
- ActiveMQ深入浅出(五)——ActiveMQ将消息持久化到数据库
- ActiveMQ学习总结(4)——业界消息队列简介
- JMS消息类型--ActiveMQ学习之六
- ActiveMQ开启用户认证及消息持久化到数据库功能