ActiveMQ-mysql持久化
ActiveMQ預設開啟持久化,使用自帶的檔案資料庫kahadb。
啟用mysql持久化需要修改配置檔案 \conf\activemq.xml。修改內容如下:
(1)新增資料庫連線的bean注入
<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="activemq"/>
<property name="password" value="activemq"/>
<property name="maxActive" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
同時要建立資料庫activemq,資料庫名稱與jdbc:mysql://localhost/activemq?relaxAutoCommit=true中的保持一致即可。另外需要將相應的資料庫連線驅動jar包放在ActiveMQ的安裝目錄的lib資料夾中。
(2)修改持久化方式persistenceAdapter
<persistenceAdapter>
<!-- <kahaDB directory="${activemq.data}/kahadb"/> -->
<jdbcPersistenceAdapter dataSource="#mysql-ds" createTablesOnStartup="true" />
</persistenceAdapter>
配置createTablesOnStartup設定為true的話,ActiveMQ在啟用時會自動在資料庫中建立3個資料庫表(資料庫表不存在的情況下),用於持久化訊息。
- activemq_msgs:queue和topic的訊息都存在這個表中
- activemq_acks:儲存持久訂閱的資訊和最後一個持久訂閱接收的訊息ID
- activemq_lock:跟kahadb的lock檔案類似,確保資料庫在某一時刻只有一個broker在訪問
相關文章
- Redis資料持久化—RDB持久化與AOF持久化Redis持久化
- redis系列:RDB持久化與AOF持久化Redis持久化
- redisaof持久化Redis持久化
- redis持久化Redis持久化
- Docker 持久化Docker持久化
- Redis 持久化Redis持久化
- [Redis]持久化Redis持久化
- Redis - 持久化Redis持久化
- SpringCloud使用Sentinel,Sentinel持久化,Sentinel使用nacos持久化SpringGCCloud持久化
- Redis:持久化篇Redis持久化
- redis-持久化Redis持久化
- redis 之 持久化Redis持久化
- 可持久化trie持久化
- Redis 七 持久化Redis持久化
- Redis 持久化方案Redis持久化
- redis ——AOF持久化Redis持久化
- redis 持久化策略Redis持久化
- Redis的持久化Redis持久化
- Redis 持久化(Persistence)Redis持久化
- Redis 的持久化Redis持久化
- RDD持久化,不使用RDD持久化的問題的工作原理持久化
- 2.3 持久化命令列持久化命令列
- redis快照--RDB持久化Redis持久化
- vuex持久化方案探究Vue持久化
- fabric資料持久化持久化
- Redis 持久化之 AOFRedis持久化
- 精講Redis:持久化Redis持久化
- Redis原理二:持久化Redis持久化
- 可持久化 01 trie持久化
- Java emoji持久化mysqlJava持久化MySql
- Redis的持久化方案Redis持久化
- 使用 Java 持久化 APIJava持久化API
- Redis的持久化策略Redis持久化
- 可持久化專題持久化
- Redis 持久化詳解Redis持久化
- Android持久化技術Android持久化
- 淺談redis持久化Redis持久化
- Redis的持久化方式Redis持久化