activemq jdbc mysql_ActiveMQ 消息持久化到数据库(Mysql、SQL Server、Oracle、DB2等)
发布日期:2021-06-24 15:42:23 浏览次数:2 分类:技术文章

本文共 1128 字,大约阅读时间需要 3 分钟。

ActiveMQ具体就不介绍了,直接介绍如何讲ActiveMQ持久化到本地数据库,以SQL Server 2008 R2为例

1.下载ActiveMQ后直接解压,我下载的是apache-activemq-5.14.5-bin.zip。

2.打开conf下的activemq.xml,我要配置的是将消息持久化到SQL Server 2008 R2

3.增加配置:

1 Mysql持久化bean:2

3

4

5

6

7

8

9

10

11 SQL Server持久化bean:12

13

14

15

17

18

19

20

21 Oracle持久化bean:22

23

24

25

26

27

28

29

30

31

32 DB2持久化bean:33

34

35

36

37

38

39

40

41

如图所示:配置MSSQL数据库

a923cd4cb6d1d75b295a2bc0f2478a37.png

根据自己的服务器设定相关的信息。

4.修改持久化设置:

1

2   

3

如图所示:配置jdbcPersistenceAdpater

fea80fd7bec22f9a3d4820abfaa92931.png

5.最后,别忘了将MSSQL Server JDBC驱动sqljdbc4-4.0.jar(可以到微软官网下载https://msdn.microsoft.com/zh-cn/library/mt683464.aspx)拷贝到lib目录下,

好了,运行bin下的activemq.bat。

在数据库中已建立好ActiveMQ持久化需要的数据表。如图所示:如果配置成功,默认会创建三张表:

activemq_acks:ActiveMQ的签收信息。

activemq_lock:ActiveMQ的锁信息。

activemq_msgs:ActiveMQ的消息的信息

e34b2d908474fb0681311a33e273d3ba.png

6.当表已成功创建,再次修改持久化设置中的创建表设置(只要第一次创建表成功就行了):

createTablesOnStartup="false"

7.管理登录:

http://localhost:8161默认用户和密码均为admin

ee34175d23e730e564df8f4fea176542.png

OK配置完成!

PS:如果你发现ActiveMQ添加了持久化后,发了消息,为什么activemq_msgs表中没有记录任何数据,其实这个是需要我们自己在代码里控制的,需要设置MsgDeliveMode为Persistent,具体代码如下:

1 //PERSISTENT:保存到磁盘,consumer消费之后,message被删除。2 //NON_PERSISTENT:保存到内存,消费之后message被清除。3 //注意:堆积的消息太多可能导致内存溢出。

4 producer.Send(msg,MsgDeliveryMode.Persistent,level,TimeSpan.MinValue);

ff49cd2df7c419e8e61234cdbe6f95be.gif

a28a65bd30e74a4bcfaa718806d97781.png

转载地址:https://blog.csdn.net/weixin_33613462/article/details/113344740 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:适配没有覆盖pc端样式怎么办_真香,30天做一套wordpress主题(第8天):首页移动端适配...
下一篇:inplace mysql_MySQL8.0:In-place升级说明

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月31日 10时31分58秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

【英语学习】【WOTD】comminute 释义/词源/示例 2019-04-28
【英语学习】【Daily English】U09 Fashion L04 It helps if you look the part 2019-04-28
【英语学习】【WOTD】scrumptious 释义/词源/示例 2019-04-28
【英语学习】【WOTD】etiquette 释义/词源/示例 2019-04-28
【英语学习】【Daily English】U10 Education L01 Is this certificate a must? 2019-04-28
【Openstack】【Nova】开发者入门,开发工作流 2019-04-28
【英语学习】【Daily English】U10 Education L02 I'm not a pushy parent 2019-04-28
【英语学习】【Daily English】U10 Education L03 She's planning to study abroad 2019-04-28
【英语学习】【Daily English】U10 Education L04 It's never too late to learn. 2019-04-28
【英语学习】【WOTD】sashay 释义/词源/示例 2019-04-28
【Openstack】实录手动部署Openstack Rocky 双节点(3)- Glance 2019-04-28
【Openstack】实录手动部署Openstack Rocky 双节点(4)- Nova 2019-04-28
【英语学习】【WOTD】cerebral 释义/词源/示例 2019-04-28
【英语学习】【Daily English】U11 Work L01 Would you like a tour of the office? 2019-04-28
【Linux使用】Centos 7安装图形界面/切换文本界面与图形界面 2019-04-28
【英语学习】【WOTD】opusculum 释义/词源/示例 2019-04-28
【英语学习】【WOTD】Parthian 释义/词源/示例 2019-04-28
【Linux使用】Centos 7设置时区与时钟(chrony / ntp /systemd) 2019-04-28
【Linux使用】Centos 7 YUM仓库配置文件代理服务器设置 2019-04-28
【英语学习】【English L06】U05 Appointments L5 I'd like to make an appointment with Mr. Grant 2019-04-28