使用 wsadmin 工具将 WS-ReliableMessaging 策略集连接到 Web Service 应用程序并与其绑定

要将 Web Service 应用程序配置为使用 WS-ReliableMessaging,请连接包含 WS-ReliableMessaging 策略类型的策略集。 此策略类型提供了一系列服务质量:受管持久、受管非持久或非受管非持久。 使用 wsadmin 工具将策略集附加到您的应用程序,并(针对托管服务质量)定义与服务集成总线和消息引擎的绑定。

准备工作

您可以附加WS-ReliableMessaging策略集和定义绑定,方法是使用 wsadmin 工具(如本任务中所述),或者您可以连接并绑定WS-ReliableMessaging使用管理控制台设置的策略

此任务假设您已经开发并安装 Web 服务应用程序您想要附加策略集的对象。

以下缺省策略集可与 WS-ReliableMessaging 应用程序配合使用:
  • WS-I RSP
  • WS-I RSP ND
  • LTPA WS-I RSP
  • 用户名 WS-I RSP
  • WSReliableMessaging 1_0
  • WSReliableMessaging 缺省
  • WSReliableMessaging 持久
有关详细信息,请参阅For more information, seeWS-ReliableMessaging默认策略集

如果你可以使用任何这些默认策略集,或者你有配置您自己的可靠消息传递策略集,那么你就可以完成这项任务了。

有关此任务

使用本任务来完成下列各项操作:
  1. 将可靠消息传递策略集(缺省策略集或所创建的策略集)连接至应用程序的某个方面(即,应用程序级别或 Web Service 级别)。 策略集定义可靠性级别(服务质量)以及其他要应用于可靠消息传递应用程序的配置选项。
  2. 对与策略集的每个连接定义绑定,该策略集指定受管服务质量。 即,选择服务集成总线和消息传递引擎以用于维护受管持久和受管非持久服务质量的状态。

要使用 wsadmin 工具来连接 WS-ReliableMessaging 策略集并定义绑定,请完成下列步骤:

过程

  1. 在应用程序级别或服务级别将策略集连接到可靠消息传递应用程序。
    使用createPolicySetAttachment命令如下使用 wsadmin 工具创建策略集附件。 将 -policySet 参数设置为要使用的可靠消息传递策略集的名称。 例如:WS-I RSP ND
    注:
    • 可以在每个级别上连接一个策略集。
    • 只能在应用程序级别或服务级别应用 WS-ReliableMessaging 策略。
    • 如果在服务级别应用可靠消息传递,那么所有服务都必须使用相同的 WS-ReliableMessaging 策略和绑定值。
    • 可以在操作级别连接任何策略集。 对于包括 WS-ReliableMessaging 策略的策略集,操作级别的连接会配置该策略集的其他组件(例如,WS-Security 和 WS-Addressing),但是操作级别上的任何 WS-ReliableMessaging 配置都被忽略。

    此命令将返回连接标识号。 如果所选策略集指定了受管服务质量,请记录此编号。 在下一步中,您将使用此编号来定义绑定。

  2. 如果您选择的策略集指定了托管服务质量,请定义与服务集成总线和消息引擎的绑定。
    如果策略集实例指定受管非持久或受管持久服务质量,那么选择用于管理 WS-ReliableMessaging 状态的服务集成总线和消息传递引擎。 使用setBinding命令如下使用 wsadmin 工具创建策略集附件。 将 -policyType 参数设置为 WSReliableMessaging。 通过使用 -attributes 参数的以下语法,设置总线名和消息传递引擎名:
    -attributes "[[busName ReliableMessagingBus] 
                 [messagingEngineName messaging_engine_name]]"
    消息传递引擎名的格式为 nodeName.serverName-busName(对于单服务器上的消息传递引擎)或 clusterName.nnn-busName(对于集群中的消息传递引擎)。
    笔记:当许多应用程序使用相同的消息引擎时,可能会影响性能。 要考虑的因素包括已绑定到消息传递引擎的应用程序数、CPU 利用率和消息吞吐量。 要提高单服务器配置的性能,请创建新的消息传递引擎以绑定到您的应用程序。
  3. 保存对主配置的更改
    要保存配置更改,请输入以下命令:
    AdminConfig.save()