2. 步骤
本文重点接收的是持久化到MySQL中的配置方式:
2.1 添加MySQL驱动
首先需要把MySql的驱动放到ActiveMQ的Lib目录下,我用的文件名字是:mysql-connector-java-5.1.30-bin.jar
2.2 修改配置文件activemq.xml
将其中的这段配置:
修改为下面这段内容:
3、另外需要在节点的下面定义id为mysql-ds的bean,如下:
4、 新建数据库
从配置中可以看出数据库的名称是activemq,需要手动在MySql中新建一个activemq的空数据库。
此时,重新启动MQ,就会发现activemq库中多了三张表:activemq_acks,activemq_lock,activemq_msgs,OK,说明已经持久化成功啦!
ActiveMQ持久化消息的二种方式;1、持久化为文件
这个装ActiveMQ时默认就是这种,只要设置消息为持久化就可以了。涉及到的配置和代码有:
<persistenceAdapter>
<kahaDB directory="${activemq.base}/data/kahadb"/>
</persistenceAdapter>
producer.Send(request, MsgDeliveryMode.Persistent, level, TimeSpan.MinValue)
2、持久化为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
利用Oracle golden gate 分发数据库同步消息至ActiveMQ 引言Oracle golden gate是甲骨文推出的一款数据库同步软件,可以实现异构数据库之间的亚秒级同步,它不仅仅支持Oracle,还支持Mysql和一些业界常用数据库。Ogg可以自动抽取表级数据的动态变化,直接将同步信息作用于目标数据库。然而,在某一些场景之中,我们并不需要将同步信息直接作用于目标数据库,而是将其保存在队列中,然后在队列中取出这些信息,完成一些下游系统的业务需求,这样可以让增量同步更加灵活。本篇文章主要讲述如何,配置Ogg来抽取源表的同步信息生成trail文件(Ogg专属同步文件),并利用分发器读取trail文件,适配成可以解析的xml,将其作为消息发送给队列。本文将不再讲诉一下关于安装的步骤,直接上干货。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)