外部目标和别名目标

外部目标和别名目标是不同类型的总线目标。外部目标表示在另一总线(外部总线)中定义的目标。别名目标将映射至在本地总线或者外部总线中定义的总线目标的备用名称。

通常,您不需要配置外部目标或者别名目标:
  • 为了让应用程序将消息发送至本地总线中定义的目标,您在 JMS 目标对象(队列或主题)中指定总线名称和目标名称。

    可以省略总线名称,这是因为缺省值为本地总线名称;但是,对于具有多个总线的系统,建议指定总线名称。

  • 为了让应用程序将消息发送至外部总线中定义的目标,您在 JMS 目标对象(队列或主题)中指定总线名称(即,外部总线)和目标名称。您不需要在本地总线中配置任何目标对象。

    服务集成使用在本地总线上配置的外部总线的定义。此定义包括目标属性的缺省值,例如,缺省服务质量。这些缺省值适用于该外部总线中的所有目标。有关更多信息,请参阅有关跨多个总线进行点到点消息传递的主题。

如果您需要针对外部总线上的个别目标覆盖消息传递缺省值和/或安全性设置,那么应使用外部目标。请在本地总线上定义外部目标。当连接至本地总线的应用程序将消息发送至外部总线中的目标时,外部目标的属性将覆盖目标缺省值。您可以设置属性和目标角色,但是无法映射至目标的备用名称。

当您需要使用总线目标的备用名称时,请使用别名目标。总线目标可以在本地总线或外部总线上。请在本地总线上配置别名目标。当本地总线中的应用程序使用别名目标时,所指定的总线名称和目标名称会映射至新名称。如果您使用别名目标,那么还可以设置属性和/或目标角色。

当连接至总线的应用程序在其 JMS 目标对象(队列或主题)中指定目标名称和总线名称(这些名称与该总线中定义的别名目标的标识和总线相匹配)时,该应用程序访问的目标与该应用程序从别名目标指定目标标识和目标总线时相同。如果您需要将通过外部总线连接到达的消息重定向到以不同方式命名的目标或总线,并且您无法修改源总线的配置,那么您还可以使用外部总线中定义的别名目标。

外部目标

外部目标表示在另一总线(外部总线)中定义的目标。可以将外部目标用于点到点消息传递。如果您需要针对外部总线上的个别目标覆盖安全性设置或消息传递缺省值,那么可以使用外部目标。 外部总线可以是另一服务集成总线或 IBM MQ 网络(即,一个或多个相互连接的 IBM MQ 队列管理器或队列共享组)。

要覆盖外部总线上目标的消息传递缺省值,可以配置外部目标的属性(例如,缺省优先级)。要覆盖安全设置和控制本地总线中的哪些用户和组可访问外部总线中的目标,可以配置外部目标的目标角色。当连接至本地总线的应用程序将消息发送至外部总线中的目标时,会应用这些属性。

当您定义外部目标时,请使用外部总线的实际名称以及该外部总线上的目标的实际名称,以使 JMS 目标对象不变。

当连接至本地总线的应用程序将消息发送至外部总线中的目标时,本地总线中的服务集成将使用外部目标的属性和目标角色,而不使用外部总线的定义(在本地总线上)中的缺省值。通常,您配置外部目标的属性,使其与外部总线中为该目标(该目标是本地目标)配置的属性相匹配,但不是必须这样做。

您还可以配置外部目标的目标角色。本地总线中的服务集成使用这些角色来控制本地总线中的哪些用户和组可访问该目标。它还对外部总线应用的任何访问控制进行补充。

请勿将外部目标用于发布/预订消息传递。应用程序使用本地总线中的主题空间目标在本地发布消息,并且您配置服务集成总线链路或者 WebSphere MQ 链路。这些链路将已发布消息传播到外部总线或者订户用于接收消息的总线。对于服务集成总线的链路,请按配置服务集成总线之间的主题空间映射中所述配置主题空间映射。对于 WebSphere MQ 网络的链路,请按通过 IBM 链路发布/预订消息传递中所述配置发布/预订网桥。

服务集成不能使用范围限定为外部总线的配置信息。因此,如果在本地总线上未定义适当的外部目标,那么服务集成将使用目标属性的缺省值。

图 1 显示了一个将消息从本地总线“总线 1”发送至外部总线“总线 2”中的目标的 JMS 应用程序。总线 1 定义了一个外部总线连接,用来将消息转发至外部总线。在本地总线中未定义外部目标。总线 1 通过该外部总线连接获取目标缺省值。

图 1. 在未配置外部目标的两个总线之间进行点到点消息传递
周围文本对图形进行了描述。

图 2 显示了一个将消息从本地总线“总线 1”发送至外部总线“总线 2”中的目标的 JMS 应用程序。总线 1 定义了一个外部总线连接,用来将消息转发至外部总线。总线 1 包括外部目标定义。总线 1 从该外部目标获取目标缺省值。

图 2. 在本地总线上配置了外部目标的两个总线之间进行点到点消息传递
周围文本对图形进行了描述。

别名目标

别名目标将映射总线目标的备用名称。可以将别名目标用于点到点消息传递或发布/预订消息传递。别名目标会将总线名称和目标名称(标识)映射到一个目标(在该目标中,总线名称和/或目标名称不相同)。别名目标可以映射到队列目标或主题空间目标。必要时,别名目标可链接到一起,以便期望目标本身是别名目标。

当需要使用备用名称来标识一个目标时,应该使用别名目标。例如:
  • 您需要与 WebSphere MQ 进行互操作,但是某些服务集成总线名称或目标名称不符合 IBM MQ 命名限制(例如,名称太长)。可以定义将符合 IBM MQ 限制的名称映射至服务集成名称的别名目标。

    例如,应用程序将消息发送至 IBM MQ 应用程序,而应答目标名称不符合 IBM MQ 命名限制。可以定义一个将符合限制的名称映射至实际的应答目标名称的别名。然后,应用程序将该别名目标指定为应答目标。

    另一个示例是这样一个应用程序:当“发送至”目标名称不符合 IBM MQ 命名限制时,该应用程序通过 IBM MQ 外部总线将消息发送至远程服务集成外部总线。可以在远程总线中定义一个将符合限制的名称映射至实际的“发送至”目标名称的别名。然后,应用程序将该别名目标指定为“发送至”目标。如果您希望用于发送的应用程序使用实际的目标名称,那么可以在本地总线中定义用于将实际目标名称映射至符合限制的名称的别名。

  • 如果您将目标从一个总线移至另一个总线(先删除该目标,然后在另一个总线上创建该目标),那么可以创建一个将消息从旧目标重定向到新目标的别名目标。必须在应用程序引用了该目标的每个总线(例如,从其中移动目标的总线以及将目标移至的总线)中创建别名目标。

    但是,将已向 JNDI 注册的 JMS 目标更改为指向新目标可能会更简单。

  • 您可以将别名目标指定给分区队列目标的队列点的子集,因此使用别名目标来限制生产和消费应用程序使用的队列点。

使用别名目标时,还可以设置别名目标的属性(例如,缺省服务质量)。应用程序使用别名目标时,这些属性会覆盖期望目标的属性。如果不希望覆盖属性,请将别名目标配置为从期望目标继承相应属性。

使用别名目标时,还可以配置别名目标的目标角色。应用程序使用别名目标时,本地总线中的服务集成使用这些角色来控制本地总线中的哪些用户和组可访问该期望目标。如果不希望覆盖期望目标的安全性,请将别名目标配置为将授权检查交由期望目标负责。

图 3 显示了一个将消息从本地总线“总线 1”发送至外部总线“总线 2”中的目标的 JMS 应用程序。总线 1 定义了一个外部总线连接,用来将消息转发至外部总线。JMS 目标不指向目标队列,但是指向总线 X 队列 Y。总线 1 包括一个将总线 X 队列 Y 映射至目标总线 2 队列 2 的别名目标。总线 1 从该别名目标获取目标缺省值。

图 3. 在本地总线上配置了别名目标的两个总线之间进行点到点消息传递
周围文本对图形进行了描述。

使用别名目标作为外部总线中的目标

如果应用程序使用别名目标来访问在外部总线中定义的目标,那么可以配置具有应用程序需要的特定属性和/或目标角色的别名目标。这意味着您可能也不需要定义外部目标。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjo0014_
文件名:cjo0014_.html