配置中心以支持 JMS 传输协议

本部分描述如何设置中心来使用 JMS 传输。 如果您正在使用 JMS 传输以从中心发送文档或在中心接收文档,请遵循本部分中的过程。 如果不使用 JMS 传输,请跳过本部分。

注: 本部分中的过程描述了如何使用 WebSphere MQ 的 JMS 实施来设置 JMS 环境。本过程还描述了如何设置本地队列。如果要设置传输和远程队列,请参考 WebSphere MQ 文档。

在本文档的后面几部分中,您将学习如何设置 JMS 目标或(和)网关。 在设置 JMS 目标设置 JMS 网关中描述了这些任务。

为 JMS 创建目录

首先为 JMS 创建目录。例如,假定您想在 Windows 安装的 c:\temp 目录下创建一个名为 JMS 的目录。以下是您要执行的步骤:

  1. 打开 Windows 资源管理器。
  2. 打开 C:\temp 目录。
  3. 创建名为 JMS 的新文件夹。

修改缺省 JMS 配置

在这部分中,更新 JMSAdmin.config 文件(这是 WebSphere MQ 安装的一部分),以更改上下文工厂和提供程序 URL。

  1. 浏览到 WebSphere MQ 的 Java\bin 目录。例如,在 Windows 安装中,您将浏览至:C:\IBM\MQ\Java\bin
  2. 使用纯文本编辑器(比如“记事本” 或 vi)打开 JMSAdmin.config 文件
  3. 将字符 # 添加到下列行的前面:
    INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory
     PROVIDER_URL=ldap://polaris/o=ibm,c=us
  4. 除去下列行前面的字符 #:
    #INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory 
     #PROVIDER_URL=file:/C:/JNDI-Directory
  5. PROVIDER_URL=file:/C:/JNDI-Directory 这一行进行更改,使与在为 JMS 创建目录中设置的 JMS 目录名相同。例如,如果您设置了 c:/temp/JMS 目录,则这一行将类似于:
    PROVIDER_URL=file:/c:/temp/JMS
  6. 保存该文件。

创建队列和通道

在本部分中,您将使用 WebSphere MQ 来创建收发文档所用的队列,并创建用于此次通信的通道。假定已经创建了队列管理器。 下列步骤中出现的 <queue_manager_name> 应该用实际的队列管理器名替代。也可以假定在 TCP 端口 1414 上该队列管理器的侦听器已经启动。

  1. 打开命令提示符。
  2. 输入以下命令以启动 WebSphere MQ 命令服务器:
    strmqcsv <queue_manager_name>
  3. 输入下列命令,以启动 WebSphere MQ 命令环境:
    runmqsc <queue_manager_name>
  4. 输入下列命令以创建用于保存发送到中心的入站文档的 WebSphere MQ 队列:
    def ql(<queue_name>)

    例如,要创建名为 JMSIN 的队列,则输入:

    def ql(JMSIN)
  5. 输入下列命令以创建用于保存来自中心的文档的 WebSphere MQ 队列:
    def ql(<queue_name>)

    例如,要创建名为 JMSOUT 的队列,则输入:

    def ql(JMSOUT)
  6. 输入下列命令以创建用于在参与者和中心之间收发文档的 WebSphere MQ 通道:
    def channel(<channel_name>) CHLTYPE(SVRCONN)

    例如,要创建名为 java.channel 的通道,则输入:

    def channel(java.channel) CHLTYPE(SVRCONN)
  7. 输入下列命令,以退出 WebSphere MQ 命令环境:
    end 

将 Java(TM) 运行时添加到环境中

输入下列命令,将 Java 运行时添加到系统路径中:

set PATH=%PATH%;<ProductDir>\_jvm\jre\bin

其中,ProductDir 指安装 WebSphere Partner Gateway 的目录。

定义 JMS 配置

要定义 JMS 配置,请执行下列步骤:

  1. 转到 WebSphere MQ Java 目录(<path_to_Websphere_MQ_installation_directory>\java\bin)
  2. 通过输入下列命令来启动 JMSAdmin 应用程序:
    JMSAdmin
  3. 通过输入来自 InitCtx>命令提示符中的下列命令来定义新的 JMS 上下文:
    define ctx(<context_name>)
    change ctx(<context_name>)

    例如,如果 context_name 是 JMS,则命令类似于:

    define ctx(JMS)

    change ctx(JMS)
  4. 从 InitCtx/jms>命令提示符,输入以下 JMS 配置:
    define qcf(connection_factory_name)
         tran(CLIENT)
         host(<your_IP_address>) 
         port(1414) 
         chan(java.channel) 
         qmgr(<queue_manager_name>)
    define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
    define q(<name>) queue(<queue_name>) qmgr(<queue_manager_name>)
    end

前面的步骤创建了 .bindings 文件,它位于您在步骤 5 中指定的文件夹的子文件夹中。子文件夹的名称是您为 JMS 上下文指定的名称。

例如,下面的 JMSAdmin 会话用于将队列连接工厂定义为 Hub,IP 地址为 MQ 队列管理器驻留的 sample.ibm.comsample.queue.manager 的 <queue_manager_name>)。本示例使用创建队列和通道中创建的 JMS 队列名和通道名。请注意,用户输入跟在>命令提示符后面。

InitCtx> define ctx(jms)
 InitCtx> change ctx(jms) 
 InitCtx/jms> define qcf(Hub) 
     tran(CLIENT)
     host(sample.ibm.com) 
     port(1414) 
     chan(java.channel) 
     qmgr(sample.queue.manager) 
 InitCtx/jms> define q(inQ) queue(JMSIN) qmgr(sample.queue.manager) 
 InitCtx/jms> define q(outQ) queue(JMSOUT) qmgr(sample.queue.manager) 
 InitCtx/jms>end 

在本示例中,.bindings 文件位于以下目录中:c:/temp/JMS/JMS,其中,c:/temp/JMS 是 PROVIDER_URL,JMS 是上下文名称。

Copyright IBM Corp. 2003, 2005