ActiveMQ Oracle数据库持久化配置

ActiveMQ提供了可扩展的持久化方案,下面是我测试可行的oracle数据库持久化配置方案。

注意: 需要在ActiveMQ中加入jdbc依赖的jar包,实测用到的jar包有:

  1. commons-pool-1.5.4.jar
  2. commons-dbcp-1.4.jar
  3. ojdbc14-10.2.0.4.0.jar

如果没有上述jar包启动ActiveMQ服务器会报错。先下载上述jar包放到activemq安装目录下lib文件夹里,以前项目有用到可以直接拷贝过来。

ActiveMQ、SpringFramework为当前(2017-04-26)最新版本,数据库为oracle11gR2,具体配置如下:ActiveMQ消息模型采用的前一篇pub/sub方式,修改ActiveMQ持久化配置,打开安装目录conf文件夹activemq.xml文件,找到:

<persistenceAdapter>
    <kahaDB directory="${activemq.data}/kahadb"/>
persistenceAdapter>

修改为

<persistenceAdapter>
    <jdbcPersistenceAdapter dataDirectory="${activemq.base}/data" dataSource="#derby-ds"/>
persistenceAdapter>

在broker标签外加入配置:

id="derby-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
    <property name="url" value="jdbc:oracle:thin:@192.168.2.24:1521:orcl"/>
    <property name="username" value="yqsh_wx2"/>
    <property name="password" value="yqsh_wx2"/>
    <property name="maxActive" value="200"/>
    <property name="poolPreparedStatements" value="true"/>

配置完成后保存,启动ActiveMQ服务器,打开数据库可以看到多出三张表
这里写图片描述

启动idea,等待消息发布和接收,
ActiveMQ Oracle数据库持久化配置_第1张图片

在数据库中可以看到数据
ActiveMQ Oracle数据库持久化配置_第2张图片

测试完成。

你可能感兴趣的:(ActiveMQ)