activemq的高级特性:消息存储持久化

Posted orange-time

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activemq的高级特性:消息存储持久化相关的知识,希望对你有一定的参考价值。

activemq的高级特性之消息存储持久化

  有基于文件的,数据库的,内存的。默认的是基于文件的,在安装目录/data/kahadb。在conf/activemq.xml文件中。

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

 

  把存储持久化换成mysql的数据库。

  1:修改配置文件

    <persistenceAdapter>
      <jdbcPersistenceAdapter dataSource="#mysql-ds" /> 
    </persistenceAdapter>

 

  在</broker>标签后面添加<bean>

  <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/表名?

    relaxAutoCommit=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;serverTimezone=UTC"/>
    <property name="username" value="数据库用户名"/>
    <property name="password" value="数据库密码"/>
    <property name="poolPreparedStatements" value="true"/>
  </bean>

  

  注:

    1:表名要自己 创建

    2:class根据activemq不同的版本,写不同的类,具体参考lib/optional文件夹中的commons-dbcp-1.4.jar。

    3:导入连接数据库的jar包

    4:如果数据库是5.7的。可能会出现启动失败,数据库直接挂掉。解决办法:下载 windows6.1-KB976932-X64.exe 安装即可解决。 

以上是关于activemq的高级特性:消息存储持久化的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMQ——Message高级特性

ActiveMQ高级用法详解

ActiveMQ(22):Consumer高级特性之消息分组(Message Groups)

ActiveMQ——Consumer高级特性

Message发送之高级特性(二)

ActiveMQ知识概括