MQ Enterprise Edition 支援多個互連的代理程式實例 (稱為代理程式叢集)。對於代理程式叢集,用戶端連線會分散至叢集中的所有代理程式。叢集可提供水平可延伸性並可提高可用性。
本小節說明如何配置 Application Server 以使用具有高可用性的 Sun Java System Message Queue 叢集。其中說明了如何啟動與配置 Message Queue 叢集。
如需有關 Application Server 拓樸和 MQ 部署的更多資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.2 Deployment Planning Guide」中的「Planning Message Queue Broker Deployment」。
如果其中之一尚不存在,則建立 Application Server 叢集。
如需有關建立叢集的資訊,請參閱建立叢集。
建立 MQ 代理程式叢集。
首先,刪除參照由網域管理伺服器啟動的代理程式的預設 JMS 主機,然後,建立三個要包含在 MQ 代理程式叢集中的外部代理程式 (JMS 主機)。
使用管理主控台或 asadmin 指令行公用程式建立 JMS 主機。
若要使用 asadmin,請參照以下的指令範例︰
asadmin delete-jms-host --target cluster1 default_JMS_host asadmin create-jms-host --target cluster1 --mqhost myhost1 --mqport 6769 --mquser admin --mqpassword admin broker1 asadmin create-jms-host --target cluster1 --mqhost myhost2 --mqport 6770 --mquser admin --mqpassword admin broker2 asadmin create-jms-host --target cluster1 --mqhost myhost3 --mqport 6771 --mquser admin --mqpassword admin broker3 |
若要使用 Admin Console 建立主機,請執行以下步驟︰
啟動主 MQ 代理程式和其他 MQ 代理程式。
除了在 JMS 主機電腦上啟動三個外部代理程式以外,在任一機器上啟動一個主代理程式。此主代理程式不必為代理程式叢集的一部分。例如︰
/usr/bin/imqbrokerd -tty -name brokerm -port 6772 -cluster myhost1:6769,myhost2:6770,myhost2:6772,myhost3:6771 -D"imq.cluster.masterbroker=myhost2:6772" |
啟動該叢集中的 Application Server 實例。
在叢集上建立 JMS 資源︰
建立 JMS 實體目標。
例如,使用 asadmin︰
asadmin create-jmsdest --desttype queue --target cluster1 MyQueue asadmin create-jmsdest --desttype queue --target cluster1 MyQueue1 |
若要使用 Admin Console,請執行以下步驟︰
建立 JMS 連線工廠。
例如,使用 asadmin︰
asadmin create-jms-resource --target cluster1 --restype javax.jms.QueueConnectionFactory jms/MyQcf asadmin create-jms-resource --target cluster1 --restype javax.jms.QueueConnectionFactory jms/MyQcf1 |
若要使用 Admin Console,請執行以下步驟︰
建立 JMS 目標資源。
例如,使用 asadmin︰
asadmin create-jms-resource --target cluster1 --restype javax.jms.Queue --property imqDestinationName=MyQueue jms/MyQueue asadmin create-jms-resource --target cluster1 --restype javax.jms.Queue --property imqDestinationName=MyQueue1 jms/MyQueue1 |
若要使用 Admin Console,請執行以下步驟︰
使用 –retrieve 選項為應用程式用戶端部署應用程式。例如︰
asadmin deploy --target cluster1 --retrieve /opt/work/MQapp/mdb-simple3.ear |
存取應用程式並對其進行測試,以確保其正常運作。
若要將 Application Server 復原為其預設 JMS 配置,請刪除您建立的 JMS 主機,然後重新建立預設。例如︰
asadmin delete-jms-host --target cluster1 broker1 asadmin delete-jms-host --target cluster1 broker2 asadmin delete-jms-host --target cluster1 broker3 asadmin create-jms-host --target cluster1 --mqhost myhost1 --mqport 7676 --mquser admin --mqpassword admin default_JMS_host |
您也可使用 Admin Console 執行等效作業。
如果遇到問題,請考量以下作業︰
檢視 Application Server 記錄檔。如果您在記錄檔中看到 MQ 代理程式未回應訊息,請停止該代理程式,然後將其重新啟動。
請務必先啟動 MQ 代理程式,然後再啟動 Application Server 實例。
當所有 MQ 代理程式均中斷後,使用 Java 訊息服務中的預設值中斷或啟動 Application Server 需花費 30 分鐘。調校 Java 訊息服務值可取得此逾時可接受的值。例如︰
asadmin set --user admin --password administrator cluster1.jms-service.reconnect-interval-in-seconds=5