ActiveMQ-持久化存储

activemq持久化存储:可以切换不同的存储技术(默认是kahadb,leveldb,mysql,oracle)
我们用mysql实现持久化存储:
首先我们需要进入F:\技术栈\apache-activemq-5.15.4-bin\apache-activemq-5.15.4\conf这个文件修改activemq.xml
在第81行修改代码:

<persistenceAdapter>
            <jdbcPersistenceAdapter dataSource="#mysql-ds"/>
            <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
        </persistenceAdapter>

在Broker标签的外边在第135行加上代码:

<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:3306/test?relaxAutoCommit=true"/>
       <property name="username" value="root"/>
       <property name="password" value="root"/>
       <property name="poolPreparedStatements" value="true"/>
  </bean>

如果你使用的版本没有dbcp所需要的数据源架包和数据库驱动包,就引入到lib文件夹下就行了。
启动完成之后就会在mysql的数据库中生成三张表如图所示:


image.png

activemq_acks:这个是activemq保证消息确认的一张表
activemq_lock:通过一个时间戳枷锁的方式
activemq_msgs:消息表

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容