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:消息表
网友评论