ActiveMQ有几种存储方式,默认使用的是文件索引的方式,在这里我采使用MySQL进行消息持久化过程
1.打开activemq.xml,找到<broker></broker>,将默认的<persistenceAdapter>注释掉,加入如下的设置:
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds"/>
</persistenceAdapter>
其中dataSource指定了所用数据源的名字为mysql-ds。需要在activemq.xml文件中的<broker>标签之外配置数据源。下面是MySql的配置信息。
<bean id="mysql-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="poolPreparedStatements" value="true"/>
</bean>
relaxAutoCommit需要设置为true,即自动提交。
需要手动创建数据库,数据库的名字是activemq。
配置文件修改好之后,mysql JDBC驱动包mysql-connector-java-5.1.9.jar放到%ACTIVEMQ_HOME%\lib\下。
启动activemq.bat之后,会在数据库中创建表。
其他的数据库pgsql,oracle都类似。只是记得要将驱动包放到%ACTIVEMQ_HOME%\lib\下.
接下来,你可以用activeMQ自带的例子看看,运行example下的实例,ant producer。修改build.xml 下的<property name="durable" value="false" />,将durable的值改为true,即将数据设为持久的。执行后就可以在数据库表activemq_msgs看到一条记录。然后启动消费者 ant consumer 这样执行完后数据库的记录又被删除了,很好地做到了数据的保存。
分享到:
相关推荐
本主题主要探讨如何将ActiveMQ配置为使用MySQL 8作为其持久化存储方式,以及在这个过程中所需的Jar包。 1. **ActiveMQ与持久化**: - ActiveMQ允许用户选择不同的持久化机制,包括文件系统(KahaDB)和关系数据库...
描述中提到的博客链接可能详细解释了如何配置ActiveMQ以使用MySQL进行持久化。通常,这个过程包括以下几个步骤: 1. **安装和配置MySQL**:首先,你需要在服务器上安装MySQL数据库,并创建一个用于ActiveMQ的特定...
总结来说,这个配置文件展示了如何配置ActiveMQ 5.15.15使用JDBC和MySQL 8.0+进行消息持久化,以及解决XML中特殊字符转义的问题,以确保ActiveMQ能够正确地连接并使用MySQL数据库存储和检索消息。这种配置适用于需要...
3. **数据库连接驱动**:ActiveMQ支持多种持久化策略,其中一种是使用关系型数据库(如MySQL、PostgreSQL)来存储消息。因此,根据你选择的数据库,需要引入相应的数据库驱动Jar包,例如`mysql-connector-java.jar`...
你可以通过修改`activemq.xml`配置文件来设置持久化存储,比如将消息存储到MySQL数据库。在配置中指定数据源,如下所示: ```xml ${activemq.data} <driverClassName>...
标题中的"activemq持久化jdbc所需jar包.zip"指的是Apache ActiveMQ消息中间件在使用JDBC(Java Database Connectivity)进行消息持久化时所需的库文件集合。ActiveMQ是一款开源、高性能、跨语言的企业级消息代理,它...
总结来说,"activemq-5.15+mysqljdbc配置.zip"提供了ActiveMQ的一个定制化版本,它集成了MySQL数据库作为持久化存储,并使用Durid作为连接池。这种配置适用于那些需要强大数据持久化和恢复能力的场景,但也需要对...
总之,"Active mq jdbc持久化所需要的包.rar"提供了使用MySQL数据库进行ActiveMQ消息持久化的必要组件。正确配置并使用这些组件,可以在保持消息可靠性的同时,利用数据库的优势来管理和保护消息数据。
- 在这个项目中,Eclipselink用于将聊天记录等数据持久化到MySQL数据库中。 3. **JPA (Java Persistence API)**: - JPA是Java标准,定义了如何在Java应用中管理和持久化对象。 - 它提供了一套API来映射Java类到...
本主题将详细讲解在ActiveMQ中使用JDBC持久化所需的jar包,以及如何进行配置。 首先,我们要明确的是,ActiveMQ内置了一个基于KahaDB的默认持久化机制,但用户可以根据需求选择JDBC持久化。JDBC持久化需要以下关键...
【标题】中的“管理系统系列--基于SSH+easyUI+ActiveMQ+MySQL的校园宿舍管理系统”指的是一款结合了多种技术的校园宿舍管理软件。SSH、easyUI、ActiveMQ和MySQL是构建这个系统的关键技术组件。 **SSH(Struts2 + ...
对于与数据库的集成,如`activemq数据库,验证持久化标准配置.txt`所示,ActiveMQ支持使用JDBC进行持久化,确保在故障恢复时数据的完整性。 总之,`activemq.xml`配置文件是管理ActiveMQ核心行为的核心,通过细致地...
ActiveMQ整合MySql实现消息持久化配置文件
2. **持久化到数据库**:为了提高可靠性,ActiveMQ 还可以配置为将消息存储在关系型数据库(如 MySQL 或 PostgreSQL)中。同样,这需要在 `activemq.xml` 配置文件中进行设置,包括连接数据库的详细信息以及具体的...
总结来说,ActiveMQ的JDBC消息持久化和高速缓存是通过配置数据源,使用MySQL存储消息,同时利用内存中的高速缓存提高性能。在实践中,根据实际需求调整配置,如数据目录的位置,可以优化系统性能并确保数据的安全性...
Apache ActiveMQ 是一款非常流行的开源消息中间件,它支持 Java 消息服务 (JMS) 标准,并提供了多种高级功能,例如持久化、集群、故障转移等。ActiveMQ 能够帮助开发者实现解耦、可靠的消息传输以及高性能的应用程序...
它支持基于文件系统和关系数据库(如MySQL、PostgreSQL)的持久化策略。 3. **协议支持**:除了JMS,ActiveMQ还支持STOMP、AMQP、XMPP、OpenWire等多种协议,允许与不同平台和语言的系统进行交互。 4. **网络连接*...
- 本文档提到使用MySQL作为ActiveMQ的持久化存储。首先,需要在MySQL中创建一个用户账号并授予必要的权限。 ```sql CREATE USER 'activemq'@'%' IDENTIFIED BY 'activemq'; GRANT ALL PRIVILEGES ON activemq.* ...
1. **消息的持久化**:ActiveMQ提供了可靠的消息传递机制,确保即使在系统故障的情况下,消息也不会丢失。 2. **高性能的数据分发**:通过高效的内存管理和优化的网络传输协议,ActiveMQ能够实现高速的数据传输。 3....