ActiveMQ持久化消息的三种方式

转载 2016年08月31日 10:46:09

持久化为文件

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

  1. <persistenceAdapter>  
  2.            <kahaDB directory="${activemq.base}/data/kahadb"/>  
  3.        </persistenceAdapter>  
  4.   
  5. roducer.Send(request, MsgDeliveryMode.Persistent, level, TimeSpan.MinValue);  

持久化为MySql

     你首先需要把MySql的驱动放到ActiveMQ的Lib目录下

修改配置文件

 <persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
</persistenceAdapter>
在配置文件中的broker节点外增加
  1. <bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  2.    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>  
  3.    <property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/>  
  4.    <property name="username" value="activemq"/>  
  5.    <property name="password" value="activemq"/>  
  6.    <property name="maxActive" value="200"/>  
  7.    <property name="poolPreparedStatements" value="true"/>  
  8.  </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:

  1. <bean id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
  2.     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>  
  3.     <property name="url" value="jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1"/>  
  4.     <property name="username" value="qdcommu"/>  
  5.     <property name="password" value="qdcommu"/>  
  6.     <property name="maxActive" value="200"/>  
  7.     <property name="poolPreparedStatements" value="true"/>  
  8.   </bean>  

这里的jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1按照自己实际情况设置一下就可以了,特别注意的是cmfudv1是SID即服务名称而不是TNS中配置的节点名。各位同学只需要替换IP,端口和这个SID就可以了。

ActiveMQ持久化消息的三种方式

ActiveMQ持久化消息的三种方式 本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。 A:持久化为文件      这个你装ActiveM...

ActiveMQ持久化消息的三种方式

1:前言      这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。 A:持久...

ActiveMQ持久化消息的三种方式

1:前言      这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。 A:...
  • Truong
  • Truong
  • 2017年06月25日 14:28
  • 321

ActiveMQ之消息持久化方式

默认的情况下,ActiveMQ的消息持久化是基于文件系统的KahaDB,当然也可以使用mysql、oracle为消息提供储存。...

ActiveMQ的消息持久化---JDBC的实现方式

对于queue的方式做到持久化很简单。每个消息只有一个消费者,只要将消息存入数据库,然后消费者取走信息即可,在这里我们讨论的是topic的持久化方式。 1.在这里我用的是oracle数据库,先将ora...

activemq消息持久化所需Jar包

  • 2017年04月03日 21:20
  • 1.54MB
  • 下载

JMS之——ActiveMQ消息持久化

之前的几篇博文中,我们实现的ActiveMQ消息未实现消息的持久化,一旦ActiveMQ服务重启则未发送的消息全部丢失,所以实现ActiveMQ消息的持久化也是很重要的。那么,这篇文章,我就带着大家一...

学习淘淘商城第五十九课(ActiveMQ持久化Topic消息)

我们上节课一起学习了产生和消费topic消息,但是有个问题就是topic消息没有持久化,也就意味着,如果消息发送者发送消息的时候,如果消费者没有运行的话,它将无法消费这个消息了(即使它启动也无法再接收...

activemq+spring 持久化发送消息

转:http://blog.csdn.net/u010741376/article/details/51254436 JMS 即 Java message service 是为java提供了...

activemq 支持mysql持久化 消息队列使用

目前官网上的5.x.x版本都不能下载,故使用4.1.2版本进行测试   下载地址  下载下来的包解压后为绿色版的,除了配置java_home环境变量,其他不需要安装,可以直接启动。  启动命令...
  • lucett
  • lucett
  • 2011年10月17日 15:04
  • 2147
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ActiveMQ持久化消息的三种方式
举报原因:
原因补充:

(最多只允许输入30个字)