- 浏览: 78323 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
q63176347:
我的也启动不了;版本是5.9.1的;上面的评论我也看了;跟着改 ...
Activemq持久化消息到MySql数据库中 -
yingjianxuehun:
不管用,依然报错
Eclipse CDT编译错误Internal Builder: Cannot run program "gcc": ?????????¨? -
baihaijiao101:
很好很实用,其他数据库的配置可以参考activemq-de ...
Activemq持久化消息到MySql数据库中 -
hft24dq:
<div class="quote_title ...
Activemq持久化消息到MySql数据库中 -
hft24dq:
另外bean的ID也不能用中划线,改成下划线!
Activemq持久化消息到MySql数据库中
1.添加MySql数据源
打开Activemq安装目录下的conf/activemq.xml文件,添加MySql数据源。默认情况下Activemq使用KahaDB存储,注解掉KahaDB配置,改为mysql配置如下:
<!--
<persistenceAdapter> <kahaDB directory="${activemq.base}/data/kahadb"/> </persistenceAdapter> --> <persistenceAdapter> <jdbcPersistenceAdapter dataSource="#MySQL-DS"/> </persistenceAdapter> |
该配置表示,我们将要使用名称为“MySQL-DS”的作为mysql数据源。
2. 配置MySql数据源
在</broker>节点后面,增加MySQL数据源配置:
<!-- MySQL DataSource -->
<bean id="MySQL-DS" class="org.apache.commons.dbcp.BasicDataSource" destroy-ethod="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/activemq?relaxAutoCommit=true"/> <property name="username" value="用户名"/> <property name="password" value="登录密码"/> <property name="poolPreparedStatements" value="true"/> </bean> |
此处配置类似于spring的Bean配置,id 要与上面的保持一致。
3. 配置完成后,将mysql驱动包加入到 Activemq 的 lib目录下,启动Activemq。查看activemq数据库会有三张表:activemq_acks ,activemq_lock ,activemq_msgs
数据表activemq_msgs即为持久化消息表;
整个activemq持久消息到mysql数据库配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:/META-INF/credentials.properties</value> </property> </bean> <!-- The <broker> element is used to configure the ActiveMQ broker. --> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost"> <!-- For better performances use VM cursor and small memory limit. For more information, see: http://activemq.apache.org/message-cursors.html Also, if your producer is "hanging", it's probably due to producer flow control. For more information, see: http://activemq.apache.org/producer-flow-control.html --> <destinationPolicy> <policyMap> <policyEntries> <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb"> <pendingSubscriberPolicy> <vmCursor /> </pendingSubscriberPolicy> </policyEntry> <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> <!-- Use VM cursor for better latency For more information, see: http://activemq.apache.org/message-cursors.html <pendingQueuePolicy> <vmQueueCursor/> </pendingQueuePolicy> --> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> <!-- The managementContext is used to configure how ActiveMQ is exposed in JMX. By default, ActiveMQ uses the MBean server that is started by the JVM. For more information, see: http://activemq.apache.org/jmx.html --> <managementContext> <managementContext createConnector="false" /> </managementContext> <!-- Configure message persistence for the broker. The default persistence mechanism is the KahaDB store (identified by the kahaDB tag). For more information, see: http://activemq.apache.org/persistence.html --> <!-- <persistenceAdapter> <kahaDB directory="${activemq.base}/data/kahadb"/> </persistenceAdapter> --> <persistenceAdapter> <jdbcPersistenceAdapter dataSource="#MySQL-DS" /> </persistenceAdapter> <!-- The transport connectors expose ActiveMQ over a given protocol to clients and other brokers. For more information, see: http://activemq.apache.org/configuring-transports.html --> <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0.0:61616" /> </transportConnectors> </broker> <!-- MySQL DataSource --> <bean id="MySQL-DS" class="org.apache.commons.dbcp.BasicDataSource" destroy-thod="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/activemq?relaxAutoCommit=true"/> <property name="username" value="用户名"/> <property name="password" value="登录密码"/> <property name="poolPreparedStatements" value="true"/> </bean> <!-- Enable web consoles, REST and Ajax APIs and demos It also includes Camel (with its web console), see ${ACTIVEMQ_HOME}/conf/camel.xml for more info Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details --> <import resource="jetty.xml"/> </beans> |
评论
8 楼
q63176347
2015-12-10
我的也启动不了;版本是5.9.1的;上面的评论我也看了;跟着改了;不知道是什么原因
7 楼
baihaijiao101
2014-11-26
很好很实用,其他数据库的配置可以参考activemq-demo.xml中的配置。
6 楼
hft24dq
2014-06-18
hft24dq 写道
另外bean的ID也不能用中划线,改成下划线!
这条我看错了,sorry!!!
5 楼
hft24dq
2014-06-18
另外bean的ID也不能用中划线,改成下划线!
4 楼
hft24dq
2014-06-18
rainy8sky 写道
按你上面的配置,我的AMQ怎么就启动不了了啊???
mysql数据源那段,destroy-method掉了个m!!!!
3 楼
Eureal
2013-01-11
[t
|
able] | ||
2 楼
nqp_java
2013-01-05
有没有报错
1 楼
rainy8sky
2012-12-26
按你上面的配置,我的AMQ怎么就启动不了了啊???
发表评论
-
JFilechooser 设置过渡文件类型
2015-01-19 12:39 0JFileChooser fileChooser = ne ... -
java 操作日期
2013-08-06 11:31 0//获取当前月的第一天 和最后一天日期 public ... -
Linux 下安装 sysbench 安装和性能测试
2013-07-08 14:58 7397sysbench是一个模块化的、跨平台、多线程基准测试工具, ... -
/root/.bashrc与/etc/profile的异同(转)
2013-07-02 13:31 0要搞清bashrc与profile的区别,首先要弄明白什么是 ... -
("").equals(str)与str.equals("")的区别
2013-06-08 10:26 0看例子: class AA{ String st ... -
java中计算两个时间差
2013-06-04 15:53 0javaz中对日期时间的处理比较多,代码中列出了3中日期时间计 ... -
高并发方案
2013-04-09 15:51 0简单做一个归纳,从低成本、高性能和高扩张性的角度来说有如下处理 ... -
string与stringBuffer区别
2013-04-08 23:09 0String和StringBuffer的区别 ... -
淘宝下单高并发解决方案
2013-04-08 14:44 1295今天看到这篇关于处理并发的文章很有收获,给大家分享一下。 ... -
vim与vi区别
2013-04-07 16:24 0它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅 ... -
java数组排序
2013-04-01 16:01 1195import java.util.Arrays; p ... -
CentOS安装Nginx 报错
2012-12-13 16:16 940错误提示: ./configure: error: t ... -
loading persisted sessions: java.io.EOFException
2012-11-19 16:53 0【错误描述】 引用 [StandardM ... -
Socket 传输文件
2012-09-11 13:07 01. DataOutputStream和Da ... -
java读取文件的方法,字节,字符等
2012-09-11 13:04 01、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内 ... -
BufferInputStream
2012-09-11 12:52 0BufferedInputStream 对外提供滑动读取的功 ... -
java文件下载的几种方式
2012-09-11 12:47 0public void downloadFile(St ... -
oralce 10g 各个服务的作用
2012-07-16 14:41 8881.OracleDBConsoleorcl oracle数据 ... -
jQuery的Select一些常用操作集合
2012-03-22 11:48 1074jQuery获取Select选择的 ... -
Eclipse CDT编译错误Internal Builder: Cannot run program "gcc": ?????????¨?
2012-02-16 15:08 7311Eclipse+CDT 编辑C程序出错误: 出现编译错误: ...
相关推荐
标题中的“ActiveMQ MySQL 持久化”指的是在使用ActiveMQ消息中间件时,将消息数据存储到MySQL数据库中以实现数据的持久化。ActiveMQ是Apache软件基金会的一个开源项目,它是一个功能丰富的消息代理,支持多种消息...
- 发送和接收一些消息,检查MySQL数据库中是否正确记录了这些消息,验证持久化功能是否正常工作。 总结,配置ActiveMQ使用MySQL 8作为持久化方式涉及修改配置文件、添加必要的Jar包依赖,并确保数据库连接的正确性...
标题中的"activemq持久化jdbc所需jar包.zip"指的是Apache ActiveMQ消息中间件在使用JDBC(Java Database Connectivity)进行消息持久化时所需的库文件集合。ActiveMQ是一款开源、高性能、跨语言的企业级消息代理,它...
标题中的“activemq-5.15.15 JDBC持久化mysql8.0+的activemq.xml”指的是Apache ActiveMQ的一个特定版本(5.15.15)配置文件,该配置文件用于实现消息队列的数据持久化,通过JDBC连接MySQL 8.0以上的版本。ActiveMQ...
在分布式系统中,消息持久化是指当消息代理(如ActiveMQ)接收到消息后,会将其存储到磁盘中,即使服务器重启或出现故障,也能保证这些消息不会丢失。这在高可用性和容错性方面扮演着关键角色。 要实现ActiveMQ的...
总结来说,"activemq-5.15+mysqljdbc配置.zip"提供了ActiveMQ的一个定制化版本,它集成了MySQL数据库作为持久化存储,并使用Durid作为连接池。这种配置适用于那些需要强大数据持久化和恢复能力的场景,但也需要对...
你可以通过修改`activemq.xml`配置文件来设置持久化存储,比如将消息存储到MySQL数据库。在配置中指定数据源,如下所示: ```xml ${activemq.data} <driverClassName>...
在ActiveMQ中,为了实现消息持久化,我们通常会利用JDBC(Java Database Connectivity)来存储消息数据。这确保了即使在服务器重启或故障后,消息依然能够被恢复,从而保持系统的高可用性和可靠性。本主题将详细讲解...
总之,"Active mq jdbc持久化所需要的包.rar"提供了使用MySQL数据库进行ActiveMQ消息持久化的必要组件。正确配置并使用这些组件,可以在保持消息可靠性的同时,利用数据库的优势来管理和保护消息数据。
2. **持久化到数据库**:为了提高可靠性,ActiveMQ 还可以配置为将消息存储在关系型数据库(如 MySQL 或 PostgreSQL)中。同样,这需要在 `activemq.xml` 配置文件中进行设置,包括连接数据库的详细信息以及具体的...
- **数据流动**:消息首先会被存储在缓存中,然后在适当的时候写入到MySQL数据库。这种设计平衡了速度和可靠性,确保了高吞吐量的同时,消息也不会丢失。 总结来说,ActiveMQ的JDBC消息持久化和高速缓存是通过配置...
配置Master/Slave环节中,需要修改ActiveMQ配置文件activemq.xml,在其中添加数据源配置,并调整persistenceAdapter的设置以适应JDBC方式的持久化。配置文件修改完成后,需要将修改后的配置文件复制到另一台虚拟机的...
- 在这个项目中,Eclipselink用于将聊天记录等数据持久化到MySQL数据库中。 3. **JPA (Java Persistence API)**: - JPA是Java标准,定义了如何在Java应用中管理和持久化对象。 - 它提供了一套API来映射Java类到...
在 ActiveMQ 中,生产者可以将消息发送到消息队列中,而消费者则可以从队列中取出消息进行处理。这种模式使得消息的发送者和接收者不需要同时在线。 - **点对点通信**:在这种模式下,每个消息被发送后只会被一个...
- 发送一条消息到该队列,确保消息能够正确地持久化到数据库中。 2. **环境信息** - 操作系统: Linux Ubuntu 3.19.0-15-generic #15-Ubuntu - ActiveMQ版本: ActiveMQ 5.12.1 - 数据库: MySQL 5.6.27 - JDK...
对于与数据库的集成,如`activemq数据库,验证持久化标准配置.txt`所示,ActiveMQ支持使用JDBC进行持久化,确保在故障恢复时数据的完整性。 总之,`activemq.xml`配置文件是管理ActiveMQ核心行为的核心,通过细致地...
`activemq-store-jdbc-2.0.jar`这个库就是ActiveMQ利用JDBC来持久化消息存储的具体实现。 在ActiveMQ中,消息存储的目的是确保消息的可靠传递,即使在服务器故障或网络中断的情况下,也能保证数据不丢失。JDBC存储...
它支持基于文件系统和关系数据库(如MySQL、PostgreSQL)的持久化策略。 3. **协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、XMPP、OpenWire等多种协议,允许与不同平台和语言的系统进行交互。 4. **网络连接*...
这个JAR文件扮演着关键角色,使得ActiveMQ能够利用数据库来持久化消息,确保在系统故障后数据的恢复。 ActiveMQ Store JDBC模块的核心功能在于将消息存储在数据库中,而不是默认的文件系统。这样做的好处包括: 1....