Activemq jdbcベースmaster/slaveモード

1574 ワード

Activemqのjdbc master/slaveモードmysqlデータベースに基づく
1.apache-activemq-5.1.1.1-1とapache-activemq-5.1.1.1-2のactivemqにデータソースを追加する.xmlファイルラベルの後に次の内容を追加します.
<!--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>

2、永続化構成を修正し、persistenceAdapterを見つけて以下の内容を修正する(amq 1とamq 2の構成ファイルactivemq.xml)
<persistenceAdapter>
		   <jdbcPersistenceAdapter dataDirectory="${activemq.data}" dataSource="#mysql-ds" createTablesOnStartup="false"/>
		</persistenceAdapter>

createTablesOnStartup=「false」は起動前に構成しないで、クラスタが起動したら、再構成します.createTable OnStartupは起動時にテーブルを作成し、一度だけ作成すれば十分です.
3、mysqlのドライバパッケージmysql-connector-java-5.1.35をJAr amq各ノードのlibディレクトリに追加
4、まとめ
JDBCベースと共有ファイルシステムベースのクラスタスキームの原理は一致しているが,共有ファイルシステムを共有データベースに変換しただけである.
このクラスタ方式は、共有ファイルシステム方式よりも簡単で、分散配置に便利ですが、データベースが失効すると、クラスタ全体のノードがすべて失効します.すなわち、データベースクラスタの採用など、データベースの信頼性を保証する必要がある.
5、テストアクセス
http://localhost:8161/いずれを停止してもアクセス可能