创建 JMS 服务器

为了创建使用 JMS 传输的 Web Service,首先需要创建并配置可支持 JMS 的服务器。
为了创建服务器,必须至少已安装 WebSphere® Application Server V6.x 或 WebSphere Application Server 旧测试环境中的某一项。JMS Web Service 仅在 WebSphere Application Server V5.1 和更高版本上才受支持。

下列步骤将指导您使用 WebSphere Application Server 附带的缺省消息传递提供程序,来完成基本服务集成总线和 JMS 队列的创建工作。服务集成技术替换了本产品先前版本中使用的嵌入式消息传递提供程序。这些指示信息并不是有关如何将 Web Service 与服务集成技术配合使用的权威性指南,但是,当设置主题和队列以处理 JMS 消息时,可以将这些指示信息用作指南。

有关缺省消息传递提供程序的其他信息(包括有关 JMS 以及为 JMS 设置队列和主题的原因及方式的更详细信息),请参阅 WebSphere Application Server 信息中心并搜索“消息传递资源”。有关将服务集成技术与 Web Service 配合使用的其他信息,请参阅 WebSphere Application Server 信息中心并搜索“通过服务集成技术启用 Web Service”。

使用 WebSphere Application Server V5.1 为 SOAP over JMS 创建服务器和服务器配置

为了完成本节中的步骤,必须已安装 WebSphere Application Server V5.1 或旧测试环境。
  1. 选择文件 > 新建 > 其他 > 服务器 > 服务器和服务器配置 > 下一步
  2. 输入服务器的名称,并确保服务器类型为 WebSphere V5.1WebSphere V5.1 测试环境。单击完成
  3. 在 J2EE 透视图的“J2EE 层次结构”视图中,从“窗口”菜单中选择视图 > 其他 >服务器。这就会打开“服务器”视图,并且您创建的服务器应该列示在该视图中。
  4. 双击已创建的服务器。这就会在一个编辑器中打开该服务器的服务器配置文件。
  5. 选择 JMS 选项卡。
    1. 服务器设置下面,通过单击添加来按需要添加任意数目的队列名。 注意,如果在单元节点设置下进行更改,则 Web Service 工具将不会使这些更改生效。
    2. 对于“JMS 提供程序”,选择 MQ Simulator for Java™ Developers
    3. 在“JMS 连接工厂”下面,添加适当的主题或队列连接。如果选择使用队列,则必须添加入站和出站队列连接工厂。出站队列连接工厂必须具有下列各项:
      • 名称:WebServicesReplyQCF
      • JNDI 名称:jms/WebServicesReplyQCF
      此名称是区分大小写的,不能使用其他名称。
    4. 在“JMS 目标”下面,添加与在步骤 5a 中创建的那些队列同名的队列。此队列将用作入站队列来处理请求消息。
  6. 选择 EJB 选项卡。
    1. 在“侦听器端口”下面,单击添加以便为已创建的每个队列添加端口。
    2. 为端口命名,然后选择连接工厂(连接工厂不能为 jms/WebServicesReplyQCF),并选择与该连接工厂相关联的队列的目标 JNDI 名称。
  7. 关闭服务器配置,并在提示您保存设置时进行保存。

使用 WebSphere Application Server V6.0 为 SOAP over JMS 创建服务器和服务集成总线

为了完成本节中的各个步骤,必须已经安装 WebSphere Application Server V6.0.x 或旧测试环境。
  1. 选择文件 > 新建 > 其他 > 服务器 > 服务器 > 下一步
  2. 输入服务器的名称,并确保服务器类型为 IBM WebSphere 6.0。单击完成
  3. 在 J2EE 透视图的“J2EE 层次结构”视图中,从“窗口”菜单中选择视图 > 其他 >服务器。这就会打开“服务器”视图,并且您创建的服务器应该列示在该视图中。
  4. 必须在 WebSphere Application Server 管理控制台中设置此服务器的 JMS 设置。可以通过 Windows® 上的“开始”菜单来启动该控制台,也可以通过 Web 浏览器在以下地址来启动:http://localhost:9060/ibm/console
  5. 一旦启动了控制台,就选择服务器 > 应用程序服务器来确保列出了所创建的服务器。
  6. 在左边的窗格中,展开服务集成 > 总线 > 新建。在名称字段中输入唯一的名称(例如,WS_test_Bus)并单击确定
  7. 要使当前服务器与新创建的集成总线相关联,请单击其他属性下面的总线成员。单击添加并选择要与该集成总线相关联的服务器。单击完成并保存更改。
  8. 创建请求消息的物理队列:
    1. 在左边的窗格中,展开服务集成 > 总线。选择先前创建的总线。
    2. 其他属性下面,单击目标
    3. 单击新建并选择队列作为目标类型。输入标识,如 ws_test_queueJms。接受缺省的总线成员。单击下一步
    4. 保存更改。
  9. 对新创建的队列指定 JMS 设置:
    1. 转至资源 > JMS 提供程序 > 缺省消息传递
    2. 目标下面,单击 JMS 队列,然后单击新建
    3. 输入名称(例如,ws_test_queueJms)和 JNDI 名称(例如,jms/ws_test_queue)。在连接窗格中,选择先前创建的总线(WS_test_Bus)和队列(ws_test_queueJms)。
    4. 单击确定并保存更改。
  10. 创建输入队列的队列连接工厂:
    1. 转至资源 > JMS 提供程序 > 缺省消息传递
    2. JMS 队列连接工厂下面,单击新建并输入名称(例如,WebServicesInput_QCF)和 JNDI 名称(例如,jms/ws_test_qcf )。
    3. 选择先前创建的总线(WS_test_Bus)作为总线名称,然后单击确定并保存更改。
  11. 创建应答队列的队列连接工厂:
    1. 转至资源 > JMS 提供程序 > 缺省消息传递
    2. JMS 队列连接工厂下面,单击新建并输入名称(必须在此字段中使用 WebServicesReply_QCF)和 JNDI 名称(例如,jms/WebServicesReplyQCF)。 如果想对应答队列连接工厂使用定制名称,则必须在 JMSServiceRouter 部署描述符中更改引用别名。此引用是您在运行 Web Service 向导时设置的。因此,如果您决定使用其他 JNDI 名称,则必须进入此项目并覆盖缺省设置。
    3. 选择先前创建的总线(WS_test_Bus)作为总线名称,然后单击确定并保存更改。
  12. 绑定输入队列和所侦听消息驱动的 EJB 需要 JMS 激活规范:
    1. 转至资源 > JMS 提供程序 > 缺省消息传递
    2. 激活规范下面单击 JMS 激活规范,单击新建并输入名称(例如,ws_test_JMSRouter),输入 JNDI 名称(例如,eis/ws_test_JMSRouter),选择队列作为目标类型,输入目标 JNDI 名称(例如,jms/ws_test_queue)并输入总线名称(WS_test_Bus)。
    3. 单击确定并保存更改。
  13. 一旦添加了必需的连接工厂以及队列或主题,就可以停止并重新启动 WebSphere Application Server V6.0,然后返回到工作空间。

使用 WebSphere Application Server V6.1 为 SOAP over JMS 创建服务器和服务集成总线

为了完成本节中的各个步骤,必须已经安装 WebSphere Application Server V6.1。

  1. 选择文件 > 新建 > 其他 > 服务器 > 服务器 > 下一步
  2. 输入服务器的名称,并确保服务器类型为 WebSphere 6.1 服务器。单击完成
  3. 在 J2EE 透视图的“J2EE 层次结构”视图中,从“窗口”菜单中选择视图 > 其他 >服务器。这就会打开“服务器”视图,并且您创建的服务器应该列示在该视图中。
  4. 必须在 WebSphere Application Server 管理控制台中设置此服务器的 JMS 设置。可以通过 Windows 上的“开始”菜单来启动该控制台,也可以通过 Web 浏览器在以下地址来启动:http://localhost:9060/ibm/console
  5. 一旦启动了控制台,就选择服务器 > 应用程序服务器来确保列出了所创建的服务器。
  6. 在左边的窗格中,展开服务集成 > 总线 > 新建。在名称字段中输入唯一的名称(例如,WS_test_Bus)并单击确定
  7. 要将当前服务器与新创建的集成总线相关联,选择刚才所创建总线的名称,然后在拓扑下面单击总线成员。单击添加并选择想要与集成总线相关联的服务器,然后单击下一步。选择文件存储作为消息持久状态,然后单击下一步。对于本教程,可以接受缺省消息存储属性,然后单击下一步。如果要为您自己的 Web Service 创建 JMS 总线,则选择“帮助”并搜索“文件存储设置”,以了解有关哪些设置最适合您的更多信息。单击完成以进行确认。
  8. 创建请求消息的物理队列:
    1. 在左边的窗格中,展开服务集成 > 总线。选择先前创建的总线。
    2. 目标资源下面,单击目标
    3. 在“目标”页上,单击新建
    4. 选择队列作为目标类型并单击下一步
    5. 输入标识,例如 ws_test_queueJms。单击下一步
    6. 接受缺省总线成员。单击下一步
    7. 单击完成以确认更改,然后保存更改。
  9. 对新创建的队列指定 JMS 设置:
    1. 在左边的导航面板中,转至资源 > JMS > JMS 提供程序
    2. 从“作用域”下拉列表中,选择服务器作为作用域,然后从提供程序列表中选择缺省消息传递提供程序
    3. 在“其他属性”下面,选择队列
    4. 输入名称(例如,ws_test_queueJms)和 JNDI 名称(例如,jms/ws_test_queue)。在连接窗格中,选择先前创建的总线(WS_test_bus)和队列(ws_test_queueJms)。
    5. 单击确定以保存更改。
  10. 创建输入队列的队列连接工厂:
    1. 转至资源 > JMS > 队列连接工厂
    2. 从“作用域”下拉列表中,选择服务器作为作用域,然后单击新建
    3. 选择缺省消息传递提供程序并单击确定
    4. 在“常规属性”下面输入名称(例如,WebServicesInput_QCF)和 JNDI 名称(例如,jms/ws_test_qcf)。
    5. 在“连接”窗格中,选择先前创建的总线(WS_test_Bus)作为总线名称。
    6. 单击确定以保存更改。
  11. 创建应答队列的队列连接工厂:
    1. 转至资源 > JMS > 队列连接工厂
    2. 从“作用域”下拉列表中,选择服务器作为作用域,然后单击新建
    3. 选择缺省消息传递提供程序并单击确定
    4. 在“常规属性”下面输入 WebServicesReply_QCF 作为名称(对于此字段,必须使用 WebServicesReply_QCF)以及 JNDI 名称(例如,jms/WebServicesReplyQCF)。 如果想对应答队列连接工厂使用定制名称,则必须在 JMSServiceRouter 部署描述符中更改引用别名。此引用是您在运行 Web Service 向导时设置的。因此,如果您决定使用其他 JNDI 名称,则必须进入此项目并覆盖缺省设置。
    5. 在“连接”窗格中,选择先前创建的总线(WS_test_Bus)作为总线名称,然后单击确定以保存更改。
  12. 绑定输入队列和所侦听消息驱动的 EJB 需要 JMS 激活规范:
    1. 转至资源 > JMS > 激活规范
    2. 从“作用域”下拉列表中,选择服务器作为作用域,然后单击新建
    3. 选择缺省消息传递提供程序并单击确定
    4. 输入名称(例如,ws_test_JMSRouter),然后输入 JNDI 名称(例如,eis/ws_test_JMSRouter)。在“目标”窗格中,选择队列作为目标类型,输入目标 JNDI 名称(jms/ws_test_queue),并选择总线名称(WS_test_Bus)。
    5. 单击确定以保存更改。
  13. 一旦添加了必需的连接工厂以及队列或主题,就可以停止并重新启动 WebSphere Application Server V6.1,然后返回到工作空间。

反馈