activemq基於jdbc的master/slave模式

activemq的jdbc master/slave模式,基於mysql數據庫java

一、添加數據源,在apache-activemq-5.11.1-1和apache-activemq-5.11.1-2的activemq.xml文件</broker>標籤以後添加以下內容mysql

<!--mysql jdbc ms-->
	<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/amq?relaxAutoCommit=true"/>
		<property name="username" value="root"/>
		<property name="password" value="123456"/>
		<property name="maxActive" value="200"/>  
		<property name="poolPreparedStatements" value="true"/>
	</bean>

二、修改持久化配置,找到persistenceAdapter修改以下內容(amq1和amq2的配置文件activemq.xml)sql

<persistenceAdapter>
		   <jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#mysql-ds" createTablesOnStartup="false"/>
		</persistenceAdapter>

createTablesOnStartup="false" 在啓動前不要配置,等集羣啓動過了,再配置。createTablesOnStartup是啓動時建立表,只建立一次就夠了。數據庫

三、將mysql的驅動包mysql-connector-java-5.1.35.jar添加到amq各節點的lib目錄下apache

四、小結
分佈式

    基於JDBC和基於共享文件系統的集羣方案原理是一致的,只是把共享文件系統換成了共享數據庫。測試

     這種集羣方式比共享文件系統方案更簡單,更利於分佈式部署,可是若是數據庫失效,那麼整個集羣的節點隨之所有失效。換言之,須要保證數據庫的可靠性,好比採用數據庫集羣。url

五、測試訪問
spa

http://localhost:8161/ 中止其中任何一臺均可訪問code

相關文章
相關標籤/搜索