ActiveMQ与Spring整合:(2)数据的持久化
2016-08-28 18:12
232 查看
由于本系列文章并不是介绍activemq的基本概念和使用,不会activemq基本概念的人可能会觉得云里雾里的,所以最好找一些介绍activemq基本使用的文章。本篇文章主要继承上一篇博客,重点介绍使用,而不是知识点的介绍。
在学习java消息服务JMS时候,我们经常会设置消息的持久化方式,但是设置了持久化之后,消息如何保存呢?这篇博客主要介绍消息是如何持久化的。消息持久化主要有两种方式:一是持久化文件,二是持久化到数据库中。
1、持久化到文件,默认保存方式为kahaDB。activemq.xml中持久化配置:
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
假如设置发送消息时设置消息为持久化,这时候启动了broken服务器,消息发送者,但是消息接收者没有启动,那么持久化文件中会把消息保存到文件中;知道消息接受者接收消息之后会把消息记录删除。以下kahadb目录为保存的消息记录。
2、保存到数据数据库,如mysql,Oracle数据库。
首先需要下载数据库驱动包,这里使用的是mysql数据库,所以下载了mysql-connector-java-5.0.4-bin.jar,并把jar包放入到apache-activemq-5.8.0\lib目录下。
修改activemq.xml配置文件:
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
</persistenceAdapter>同时在activemq.xml文件的broken节点外面添加如下配置:
<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="root"/>
<property name="password" value="root"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>在数据库中新建activemq数据库,这是启动activemq后,会在数据库下新建三个表:
这时先启动消息发送者,会在activemq_msgs下看到多了一条记录。
再启动消息接受者,会看到表中记录已被删除。
在学习java消息服务JMS时候,我们经常会设置消息的持久化方式,但是设置了持久化之后,消息如何保存呢?这篇博客主要介绍消息是如何持久化的。消息持久化主要有两种方式:一是持久化文件,二是持久化到数据库中。
1、持久化到文件,默认保存方式为kahaDB。activemq.xml中持久化配置:
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
假如设置发送消息时设置消息为持久化,这时候启动了broken服务器,消息发送者,但是消息接收者没有启动,那么持久化文件中会把消息保存到文件中;知道消息接受者接收消息之后会把消息记录删除。以下kahadb目录为保存的消息记录。
2、保存到数据数据库,如mysql,Oracle数据库。
首先需要下载数据库驱动包,这里使用的是mysql数据库,所以下载了mysql-connector-java-5.0.4-bin.jar,并把jar包放入到apache-activemq-5.8.0\lib目录下。
修改activemq.xml配置文件:
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
</persistenceAdapter>同时在activemq.xml文件的broken节点外面添加如下配置:
<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="root"/>
<property name="password" value="root"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>在数据库中新建activemq数据库,这是启动activemq后,会在数据库下新建三个表:
这时先启动消息发送者,会在activemq_msgs下看到多了一条记录。
再启动消息接受者,会看到表中记录已被删除。
相关文章推荐
- Spring整合ActiveMQ与Quartz的实例
- spring整合activeMq 调试JMS
- Spring整合ActiveMQ
- 用maven整合struts+spring+hibernate之二 数据库生成和测试数据
- JMS与Spring的整合实例(基于Apache ActiveMQ)JMS的介绍
- Hibernate数据的lazy问题,以及使用spring整合hibernate lazy的解决办法(好文转载)
- 关于JMS与SPRING的整合实例(基于Apache ActiveMQ)
- Spring整合Quartz实现持久化、动态设定时间
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板
- Spring整合JMS——基于ActiveMQ实现
- Spring2.5整合ActiveMQ 5.2(P2P文本消息)
- Ajax------------- spring+dwr整合--json作为数据交换
- 虚拟数据层:Struts2、Hibernate、Spring整合的泛型DAO
- Spring2.5整合ActiveMQ 5.2(P2P文本消息)
- Spring、MyBatis的整合数据映射器类(UserMapper->iocContext.xml)配置文件详解
- Spring2.5,Activemq5.2整合遇到的问题以及解决方法
- 虚拟数据层 Struts2、Hibernate、Spring整合的泛型DAO Version 2010.9.27
- struts2 整合 Spring开发,简单数据添加小例子
- ActiveMQ和spring整合
- Java中间件JMS(二)之ActiveMQ整合spring(一)