Sun Java System Application Server 9.1 高可用性管理指南

Procedure使用 Application Server 群集启用 MQ 群集

开始之前

如果群集类型为 REMOTE,请执行以下步骤。如果群集类型为 LOCAL,则步骤 1 到 4 不适用。

  1. 如果尚不存在 Application Server 群集,请先创建一个。

    有关创建群集的信息,请参见创建群集

  2. 创建 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

    要使用管理控制台创建主机,请执行以下操作:

    1. 导航到“JMS 主机”节点(“配置”> "config-name" >“Java 消息服务”>“JMS 主机”)。

    2. 删除默认代理 (default_JMS_host)。

      选择其旁边的复选框,然后单击“删除”。

    3. 单击“新建”以创建每一台 JMS 主机并输入其属性值。

      填写主机名称、DNS 名称或 IP 地址、端口号、管理用户名和密码。

  3. 启动 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"
  4. 启动群集中的 Application Server 实例。

  5. 在群集上创建 JMS 资源:

    1. 创建 JMS 物理目的地。

      例如,使用 asadmin


      asadmin create-jmsdest --desttype queue --target cluster1 MyQueue
      asadmin create-jmsdest --desttype queue --target cluster1 MyQueue1

      要使用管理控制台,请执行以下操作:

      1. 导航到“JMS 主机”页面(“配置”> "config-name" >“Java 消息服务”>“物理目的地”)。

      2. 单击“新建”以创建每个 JMS 物理目的地。

      3. 对于每个目标,输入其名称和类型(队列)。

    2. 创建 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

      要使用管理控制台,请执行以下操作:

      1. 导航到“JMS 连接工厂”页面(“资源”>“JMS 资源”>“连接工厂”)。

      2. 要创建每个连接工厂,请单击“新建”。

        将打开“创建 JMS 连接工厂”页面。

      3. 对于每个连接工厂,请输入 JNDI 名称(例如 jms/MyQcf)和类型 (javax.jms.QueueConnectionFactory)。

      4. 从页面底部的可用目标列表中选择群集,然后单击“添加”。

      5. 单击“确定”以创建连接工厂。

    3. 创建 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

      要使用管理控制台,请执行以下操作:

      1. 导航到“JMS 目标资源”页面(“资源”>“JMS 资源”>“连接工厂”)。

      2. 要创建每个目标资源,请单击“新建”。

        将打开“创建 JMS 目标资源”页面。

      3. 对于每个目标资源,请输入 JNDI 名称(例如 jms/MyQueue)和类型 (javax.jms.Queue)。

      4. 从页面底部的可用目标列表中选择群集,然后单击“添加”。

      5. 单击“确定”创建目标资源。

  6. 使用 –retrieve 选项为应用程序客户机部署应用程序。例如:


    asadmin deploy --target cluster1 
    --retrieve /opt/work/MQapp/mdb-simple3.ear
  7. 访问应用程序并进行测试以确保其按预期运行。

  8. 如果要将 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

    您还可以使用管理控制台执行等效操作。

故障排除

如果出现问题,请考虑以下操作: