本文只介绍三种方式,分别是持久化为文件,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就可以了。

特别说明:尊重作者的劳动成果,转载请注明出处哦~~~http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt362

ActiveMQ持久化消息的三种方式相关推荐

  1. Kafka生产者发送消息的三种方式

    Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量.灵活的offset是其它消息系统所没有的. Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下 ...

  2. MQ发送普通消息(三种方式)

    MQ 发送普通消息有三种实现方式:可靠同步发送.可靠异步发送.单向(Oneway)发送.本文介绍了每种实现的原理.使用场景以及三种实现的异同,同时提供了代码示例以供参考. 可靠同步发送 原理:同步发送 ...

  3. kafka发送消息的三种方式

    1.发后即忘(fire-and-forget) 只管往kafka发送消息而并不关心消息是否正确到达.正常情况没什么问题,不过有些时候(比如不可重试异常)会造成消息的丢失.这种发送方式性能最高,可靠性最 ...

  4. 给Teams消息附加图片的三种方式

    Teams消息支持三种不同的方式来添加图片,这篇文章我们来一起看一下这三种方式. Inline图片 var imagePath = Path.Combine(Environment.CurrentDi ...

  5. ActiveMQ传输文件的几种方式原理与优劣

    本文讨论ActiveMQ传输文件的几种方法的原理及其利弊,作为消息发送.直接传输文件.使用ftp或http中转.最后介绍扩展ActiveMQ实现自定义文件传输方式,讨论如何实现高效的文件传输. 作为消 ...

  6. Workflow 4.0 中三种方式实现workflow的触发调用

    1:使用WorkflowInvoker类中的InVoke静态方法-->WorkflowInvoker.Invoke(myWF); //myWF为自定义的workflow实例 [这种方式可以像一个 ...

  7. idea yml文件不变成树叶_springboot获取配置文件的三种方式

    hello,大家好,有今天没有写文章了,因为呢,最近,公司有点事情,需要我呢,搭建一个demo,框架呢是springboot+Active实现消息的延时发送和定时发送功能,为了项目以后中使用到,所以呢 ...

  8. discard connection丢失数据_python kafka 生产者发送数据的三种方式

    python kafka 生产者发送数据的三种方式 发送方式 同步发送 发送数据耗时最长 有发送数据的状态,不会丢失数据,数据可靠性高 以同步的方式发送消息时,一条一条的发送,对每条消息返回的结果判断 ...

  9. spring配置datasource三种方式

    转自:http://blog.csdn.net/yangyz_love/article/details/8199207 1.使用org.springframework.jdbc.datasource. ...

最新文章

  1. 【Qt】QtCreator导入cmake工程
  2. 文巾解题 10. 正则表达式匹配
  3. python 如何生成特定间隔数列?range()、numpy.arange()
  4. 3177102203+3177102204
  5. 【java笔记】常用函数式接口(4):Funtion接口
  6. 跨域总结(jquery,php)
  7. 设计模式(一)单例模式:1-饿汉模式(Eager)
  8. 基于WIKI中文语料·Word2Vec模型训练·Python
  9. CSP-2022 游寄
  10. 云服务器的回收站在哪个文件夹,云主机无法从回收站删除解决办法
  11. POI 2014 切题记
  12. 移远串口调试软件QCOM下载
  13. jQuery学习-基本使用
  14. ZOJ 1036: 算菜价
  15. 高可用之虚拟IP和IP漂移
  16. 可爱儿童卡通PPT模板推荐
  17. 《硅谷钢铁侠-埃隆•马斯克冒险的一生》观书有感
  18. 代工双雄如何走向3nm?
  19. 银行swift code(银行国际代码)简介 (zt)
  20. python基础练习题(九) ---pandas

热门文章

  1. JAVA多线程之volatile 与 synchronized 的比较
  2. 如何为linux服务器配置DNS解析?
  3. 目标检测模型从训练到部署!
  4. 强化学习教程来啦!贡献者来自中科院、清华、北大3位男神!
  5. 深入浅出统计学(十一)总体和样本的估计
  6. 清华大学《高级机器学习》课件和Fellow专家特邀报告(附pdf下载)
  7. MATLAB 不能用了,哪些替代品可以继续搞科研?
  8. 1所更名、3所新设!山西4所高校获批复
  9. 第一批 90 后30 岁了!那些 30 岁前就成博导的人都怎样了...
  10. 科技部通知:先看病,再写论文!!!