ActiveMQ持久化消息的三种方式
来源:互联网 发布:刘远原画网络班 编辑:程序博客网 时间:2024/06/02 06:11
<div id="cnblogs_post_body"><p>1:前言</p><p> 这一段给公司开发消息总线有机会研究ActiveMQ,今天撰文给大家介绍一下他的持久化消息。本文只介绍三种方式,分别是持久化为文件,MYSql,Oracle。下面逐一介绍。</p><p>A:持久化为文件</p><p> 这个你装ActiveMQ时默认就是这种,只要你设置消息为持久化就可以了。涉及到的配置和代码有</p><div class="cnblogs_code"><pre><div><span style="color: #000000;"> </span><span style="color: #000000;"><</span><span style="color: #000000;">persistenceAdapter</span><span style="color: #000000;">></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">kahaDB directory</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">${activemq.base}/data/kahadb</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"></</span><span style="color: #000000;">persistenceAdapter</span><span style="color: #000000;">></span><span style="color: #000000;"><br><br>producer.Send(request, MsgDeliveryMode.Persistent, level, TimeSpan.MinValue);</span></div></pre></div><p>B:持久化为MySql</p><p> 你首先需要把MySql的驱动放到ActiveMQ的Lib目录下,我用的文件名字是:mysql-connector-java-5.0.4-bin.jar</p><p> 接下来你修改配置文件</p><div class="cnblogs_code"><pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;"> </span><span style="color: #000000;"><</span><span style="color: #000000;">persistenceAdapter</span><span style="color: #000000;">></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">jdbcPersistenceAdapter dataDirectory</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">${activemq.base}/data</span><span style="color: #800000;">"</span><span style="color: #000000;"> dataSource</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">#derby-ds</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"></</span><span style="color: #000000;">persistenceAdapter</span><span style="color: #000000;">></span></div></pre></div><p>在配置文件中的broker节点外增加</p><div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div><pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;"> </span><span style="color: #000000;"><</span><span style="color: #000000;">bean id</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">derby-ds</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">org.apache.commons.dbcp.BasicDataSource</span><span style="color: #800000;">"</span><span style="color: #000000;"> destroy</span><span style="color: #000000;">-</span><span style="color: #000000;">method</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">close</span><span style="color: #800000;">"</span><span style="color: #000000;">></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">driverClassName</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">com.mysql.jdbc.Driver</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">url</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">jdbc:mysql://localhost/activemq?relaxAutoCommit=true</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">activemq</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">password</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">activemq</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">maxActive</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">200</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">poolPreparedStatements</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"></</span><span style="color: #000000;">bean</span><span style="color: #000000;">></span></div></pre><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div><p>从配置中可以看出数据库的名称是activemq,你需要手动在MySql中增加这个库。</p><p>然后重新启动消息队列,你会发现多了3张表</p><p>1:activemq_acks</p><p>2:activemq_lock</p><p>3:activemq_msgs</p><p>C:持久化为Oracle</p><p> 和持久化为MySql一样。这里我说两点</p><p>1;在ActiveMQ安装文件夹里的Lib文件夹中增加Oracle的JDBC驱动。驱动文件位于Oracle客户端安装文件中的product\11.1.0\client_1\jdbc\lib文件夹下。</p><p>2:</p><div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div><pre><div><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;"> </span><span style="color: #000000;"><</span><span style="color: #000000;">bean id</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">derby-ds</span><span style="color: #800000;">"</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">org.apache.commons.dbcp.BasicDataSource</span><span style="color: #800000;">"</span><span style="color: #000000;"> destroy</span><span style="color: #000000;">-</span><span style="color: #000000;">method</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">close</span><span style="color: #800000;">"</span><span style="color: #000000;">></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">driverClassName</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">oracle.jdbc.driver.OracleDriver</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">url</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">username</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">qdcommu</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">password</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">qdcommu</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">maxActive</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">200</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"><</span><span style="color: #000000;">property name</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">poolPreparedStatements</span><span style="color: #800000;">"</span><span style="color: #000000;"> value</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">/></span><span style="color: #000000;"><br> </span><span style="color: #000000;"></</span><span style="color: #000000;">bean</span><span style="color: #000000;">></span></div></pre><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div><p>这里的jdbc:oracle:thin:@10.53.132.47:1521:cmfudv1按照自己实际情况设置一下就可以了,特别注意的是cmfudv1是SID即服务名称而不是TNS中配置的节点名。各位同学只需要替换IP,端口和这个SID就可以了。</p><p>后记:</p><p>这篇文章就是简单的记录一下操作过程,避免后来的同学走弯路。</p></div>
阅读全文
0 0
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ持久化消息的三种方式
- ActiveMQ的消息持久化---JDBC的实现方式
- ActiveMQ之消息持久化方式
- (三)ActiveMQ持久化方式
- ActiveMq持久化消息
- ActiveMQ持久化消息
- ActiveMQ -- 消息持久化
- ActiveMQ消息持久化
- 消息中间件-activemq消息机制和持久化介绍(三)
- ActiveMQ的几种消息持久化机制
- Python-18 函数:递归是神马
- 【算法入门】深度优先搜索(DFS)
- java有哪些常用类 String的方法
- C语言如何实现继承和多态
- 集合框架复习二
- ActiveMQ持久化消息的三种方式
- C语言练习题复习
- linux下sql基本操作
- VueJS安装到入门
- HDU 4135(基本的容斥定理)
- 前端面试题以及答案
- 求二叉树中两个节点的最低公共祖先
- CP2K运行时显示Index to radix array not found 错误的解决方法
- 设计模式之模板方法模式