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>

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 地板拖过有腥味怎么办 网联成立支付宝怎么办 微信号站街不了怎么办 苹果照片全没了怎么办 没给员工交社保怎么办 淘宝图片超过3m怎么办 亚马逊被跟卖了怎么办 刚开饭店没生意怎么办 趣店诈骗注册了怎么办 乐动力步数不准怎么办 乐动力计步为零怎么办 净网大师ios下架怎么办 探探手机号换了怎么办 大象册被和谐后怎么办 试客联盟不退款怎么办 比邻号被禁用了怎么办 被手机分期骗了怎么办 分期乐登录不上怎么办 拼多多绑定微信怎么办 狗吃了鸭骨头怎么办 在趣购上当了怎么办 加不了别人微信怎么办 微信号加不上人怎么办 微信无法加好友怎么办 失眠的时候怎么办才好 贵宾狗不吃饭该怎么办 玩时时彩输钱了怎么办 白色衣物被染色了怎么办 白衬衣漂白变黄怎么办 白衬衣被染红了怎么办 染色了的白衣服怎么办 洗白衣服染色了怎么办 白衣服染上色了怎么办 白色衣服被染色了怎么办 白色的衣服被染色了怎么办 被毒蜜蜂咬了怎么办 被黑黄蜂咬了怎么办 专业限选课挂科怎么办 吉大限选课挂科怎么办 大四限选课挂科怎么办 大数据征信不好怎么办