如果群集类型为 REMOTE,请执行以下步骤。如果群集类型为 LOCAL,则步骤 1 到 4 不适用。
如果尚不存在 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 |
要使用管理控制台创建主机,请执行以下操作:
启动 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 |
要使用管理控制台,请执行以下操作:
创建 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 |
要使用管理控制台,请执行以下操作:
创建 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 |
要使用管理控制台,请执行以下操作:
使用 –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 |
您还可以使用管理控制台执行等效操作。
如果出现问题,请考虑以下操作:
查看位于 as-install-dir/nodeagents/node-agent-name/instance-name/logs/server.log 的 Application Server 日志文件。如果在日志文件中看到 MQ 代理没有响应消息,则停止该代理,然后重新启动它。
查看位于 as-install-dir /nodeagents/node-agent-name/instance-name/imq/imq-instance-name/log/log.txt 的代理日志。
JMS 类型为 Remote 时,务必始终先启动 MQ 代理,然后再启动 Application Server 实例。
所有 MQ 代理都关闭时,关闭或打开 Application Server 需要花费 30 分钟,并具有 Java 消息服务中的默认值。调整 Java 消息服务值以获取此超时的可接受值。例如:
asadmin set --user admin --password administrator cluster1.jms-service.reconnect-interval-in-seconds=5