Apache ActiveMQ 持久化到MySQL数据库的简单配置

Apache ActiveMQ 持久化到MySQL数据库的简单配置,第1张

1、默认提供的是持久化到文件的方式,即activemq.xml文件中的:

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,将其作为消息发送给队列。本文将不再讲诉一下关于安装的步骤,直接上干货。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9390914.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存