ActiveMQ学习笔记7-ActiveMQ持久化模式
2019-06-29 14:26
66 查看
ActiveMQ持久化模式
AMQ Message Store
AMQ Message Store是ActiveMQ5.0缺省的持久化存储。Message commands被保存到transactional journal(由rolling data logs组成)。
Kaha Persistence
Kaha Persistence 是一个专门针对消息持久化的解决方案。它对典型的消息使用模式进行了优化。在Kaha中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被丢弃。
JDBC Persistence
配置使用数据库存储消息。实例为使用MySQL存储数据。
配置activemq.xml文件
1) 在broker节点下面有一个节点配置存储模式,默认是kaha模式。改为jdbc模式
属性dataSource是第二步中需要配置数据源的id;createTabelsOnStartup是代表启动时是否创建数据库表,一般设置第一次创建,之后就设置为false。
2) 在于beans下面增加数据库配置
<bean id="my-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://127.0.0.1:3306/activemq?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> <property name="initialSize" value="5" /> <property name="maxTotal" value="100" /> <property name="maxIdle" value="30" /> <property name="maxWaitMillis" value="10000" /> <property name="minIdle" value="1" /> </bean>
数据库驱动
拷贝mysql的jdbc驱动的jar到lib,拷贝commons-dbcp2-2.3.0.jar(连接池)到lib下面。
创建数据库
配置可以自动创建表,但是无法自动创建数据库,在xml配置中的数据库名称需要自己在mysql中先创建。
注意事项
1) createTabelsOnStartup第一次配置为true,之后配置为false。
2) 数据源bean是在beans节点下面,而非broker下面。
3) commons-dbcp2-2.3.0.jar是连接池的,activeMQ是使用连接池。
4) 数据库必须先创建。
5) 消息消费了后就会从数据库删除。
6) Mysql的驱动必须5.1.25以上
相关文章推荐
- ActiveMQ订阅模式持久化实现
- ActiveMQ订阅模式持久化实现
- activemq持久化配置,设置为主从模式(带复制的主从模式,应用mysql数据库)
- activemq持久化配置,设置为主从模式(带复制的主从模式,应用mysql数据库)
- activeMQ发布订阅者模式使用
- 【java-activemq】 请求应答模式
- ActiveMQ持久化方式
- [置顶] activemq深入了解—队列模式手动控制消费
- ActiveMQ持久化方式
- ActiveMQ持久化方式
- 持久化模式,第 2 部分: 提高代码重用和改进性能,更多的现代 ORM 工具策略和最佳实践
- ActiveMQ知识盘点【壹】_JMS介绍及两种消息模式
- 对象持久化的几种模式
- 消息中间件-activemq消息机制和持久化介绍(三)
- JMS消息持久化,将ActiveMQ消息持久化到mySql数据库中
- 消息队列-ActiveMQ学习笔记(三)-发布-订阅消息模式实现
- ActiveMQ持久化方式--ActiveMQ入门之三
- activeMQ发布订阅模式中中常用工具类
- ActiveMQ发布订阅模式
- HSQLDB(HyperSQL DataBase)在文件模式(File Mode)下数据的持久化