createSIBDestination 命令
使用 createSIBDestination 命令为服务集成总线创建新总线目标。
要运行该命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。
wsadmin
脚本编制客户机通过 Qshell 运行.
有关更多信息,请参阅 使用 wsadmin 脚本编制配置 Qshell 以运行 WebSphere 脚本.
- 要获取 Jython 中可用服务集成总线命令的列表以及每个命令的简要描述,请在
wsadmin 提示符处输入以下命令:
print AdminTask.help('SIBAdminCommands')
- 要获取有关给定命令的总体帮助,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('command_name')
AdminConfig.save()
用途
createSIBDestination 命令为服务集成总线创建新总线目标。通过此命令,还可将消息传递目标放置到 WebSphere® MQ 服务器总线成员上。
目标对象
服务集成总线。
必需参数
- -bus
- 要在其上创建总线目标的服务集成总线的名称。要列示现有总线的名称,请使用 listSIBuses 命令。
- -name
- 用于标识此目标以便进行管理的标识。
- -type
- 指示要创建的总线目标的类型。
- 别名
- 别名目标,它提供应用程序与用来存放消息的底层目标总线目标之间的抽象级别。应用程序与别名目标进行交互,因此,可以在不必更改应用程序的情况下更改目标总线目标。
- 外部
- 外部目标,它标识另一条总线上的目标,并使一条总线上的应用程序能够直接访问另一条总线上的目标。
- 端口
- 表示与外部主管的目标 Web Service 进行通信的出站服务的特定消息和传输绑定。
- 队列
- 用于点到点消息传递的队列。
- TopicSpace
- 用于进行发布/预订消息传递的主题空间。
- WebService
- 表示外部主管的目标 Web Service。
条件参数
无。
可选参数
- -cluster
- 要将总线目标指定给集群总线成员,请指定集群的名称。不要指定 -node、-server 或 -wmqServer 参数。
- -node
- 要将总线目标指定给服务器总线成员,请指定运行该服务器的节点的名称以及该服务器的名称。不要指定 -cluster 或 -wmqServer 参数。
- -server
- 要将总线目标指定给服务器总线成员,请指定运行该服务器的节点的名称以及该服务器的名称。不要指定 -cluster 或 -wmqServer 参数。
- -wmqServer
- 要将总线目标指定给 IBM MQ 队列,请同时指定该目标被指定给的 WebSphere MQ 服务器总线成员的名称(此参数)以及用于存储发送至目标的消息的 IBM MQ 队列的名称( -wmqQueueName 参数)。将 -wmqServer 参数设置为创建 WebSphere MQ 服务器时给出的名称。将 -wmqQueueName 参数设置为 IBM MQ 管理分配给 IBM MQ 队列的名称。不要指定 -cluster、-node 或 -server 参数。
- -aliasBus
- 如果要创建别名目标,请指定别名映射的源总线名称。
- -targetBus
- 如果要创建别名目标,请指定别名目标映射至的总线的名称。
- -targetName
- 如果要创建别名目标,请指定别名目标映射至的目标的名称。
- -foreignBus
- 如果要创建外部目标,请指定外部总线的名称。
- -description
- 指定总线目标的描述以用于管理。
- -reliability
- 指定生产者应用程序未设置显式可靠性时要指定给对此目标产生的消息的可靠性级别。服务集成支持 5 个可靠性级别(又称为传送选项或服务质量):
- BEST_EFFORT_NONPERSISTENT
- 当消息传递引擎停止或发生故障时,将废弃消息。如果用于发送消息的连接变为不可用或者系统资源不足,也可能会废弃消息。
- EXPRESS_NONPERSISTENT
- 当消息传递引擎停止或发生故障时,将废弃消息。如果用于发送消息的连接变为不可用,也可能会废弃消息。
- RELIABLE_NONPERSISTENT
- 当消息传递引擎停止或发生故障时,将废弃消息。
- RELIABLE_PERSISTENT
- 当消息传递引擎发生故障时,可能会废弃消息。
- ASSURED_PERSISTENT
- 不废弃消息。
注: 较高级别的可靠性对性能有较大影响。有关服务集成可靠性级别的更多信息,请参阅消息可靠性级别 - JMS 传送方式及服务集成服务质量。
- -maxReliability
- 指定生产者应用程序指定的值可接受的最大可靠性级别。服务集成支持 5 个可靠性级别(又称为传送选项或服务质量):
- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
有关服务集成可靠性级别的更多信息,请参阅消息可靠性级别 - JMS 传送方式及服务集成服务质量。
- -nonPersistentReliability
指定要与服务集成通过 IBM MQ 网络接收的非持久 IBM MQ 消息配合使用的服务集成服务质量。IBM MQ 网络中的消息具有自己的服务质量级别。此级别是持久或非持久。服务集成应用程序接收这些消息时,将对这些消息指定服务集成服务质量级别,该级别依赖于这些消息的 IBM MQ 服务质量级别。
对于接收到的非持久 IBM MQ 消息,缺省服务集成服务质量为 RELIABLE_NONPERSISTENT。如果选择覆盖缺省值,那么您可能要选择一个其他非持久服务集成服务质量(BEST_EFFORT_NONPERSISTENT 或 EXPRESS_NONPERSISTENT)。但是,可选择下列五个可能的服务集成服务质量中的任何一个:- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
有关更多信息,请参阅在 JMS 传送选项和消息可靠性与 IBM MQ 持久性值之间进行映射。
- -persistentReliability
指定要与服务集成通过 IBM MQ 网络接收的持久 IBM MQ 消息配合使用的服务集成服务质量。IBM MQ 网络中的消息具有自己的服务质量级别。此级别是持久或非持久。服务集成应用程序接收这些消息时,将对这些消息指定服务集成服务质量级别,该级别依赖于这些消息的 IBM MQ 服务质量级别。
对于接收到的持久 IBM MQ 消息,缺省服务集成服务质量为 ASSURED_PERSISTENT。如果选择覆盖缺省值,那么您可能要选择另一持久服务集成服务质量 (RELIABLE_PERSISTENT)。但是,可选择下列五个可能的服务集成服务质量中的任何一个:- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
有关更多信息,请参阅在 JMS 传送选项和消息可靠性与 IBM MQ 持久性值之间进行映射。
- -overrideOfQOSByProducerAllowed TRUE | FALSE
- 控制生产者与目标之间的消息流的服务质量。如果选择此选项,那么会使用生产者指定的服务质量(而不是对目标定义的服务质量)。
- -defaultPriority number
- -maxFailedDeliveries number
- 指定 0 到 2147483647 之间的值。值为 0(零)意味着如果第一次尝试时不能传递消息,那么就像 -exceptionDestination 参数定义的那样,或者将该消息转发至异常目标,或者废弃该消息。
- -exceptionDestination value
- 缺省情况下,无法传送至此目标的所有消息将重新路由至此目标被指定至的消息传递引擎的系统缺省异常目标
(_SYSTEM.Exception.Destination.messaging_engine_name)。使用此参数覆盖缺省值。您可以设置此目标的特定异常目标,也可以通过输入空字符串 ("") 指定不将不可传送消息发送至异常目标,在此情况下,最大失败传送计数不起作用。 注: 不可传递的消息可阻塞正在等待传递至同一目标的其他消息的处理。
- 您可以使用此选项并且不指定任何异常目标,以保存消息订购。
- -sendAllowed TRUE | FALSE
- 取消选中此选项(将其设置为 FALSE)以使生产者无法将消息发送至此目标。
- 对于非调解目标的队列点或调解目标的调解点,如果取消选中此选项,那么新消息(来自连接的生产者或转发自另一个目标)将重新定向至任何可用的消息点。如果没有消息点可用,那么已被接受到总线中的消息以及来自连接的生产者的新消息将被总线保留,直到消息点变为可用为止。该操作的唯一例外是:目标仅有唯一的消息点(队列点或调解点,这取决于目标是调解还是非调解的),其中生产者连接至相同的消息传递引擎。在此情况下,每次进行发送调用时都会生成异常消息。异常消息指示已对唯一的现有位置禁止发送。生产者如常打开,如果重新选择此位置的允许发送属性(重置为 TRUE),那么发送调用会成功。
- 对于调解目标的队列点,如果取消选中此选项,那么来自调解实例的消息将重新定向至任何可用的消息点。如果没有可用的消息点,那么总线会保留消息直到某个消息点变为可用。对于任何调解实例(即任何具有调解点的服务器上的调解实例),如果同一服务器主管队列点,并且该队列点是该目标的唯一队列点,那么该调解将转入“出错停止”状态。
- -receiveAllowed TRUE | FALSE
- 对于该消息点,如果取消选中此选项,那么任何已打开的使用者会更改状态,并且该使用者请求消息时会生成异常。可以继续发送消息,并且在消息点上积累它们。
- -receiveExclusive TRUE | FALSE
- 如果选择此选项(将其设置为 TRUE),那么仅允许一个使用者连接至目标。如果选择此选项,那么一次只有一个使用者能够连接至队列目标的每个队列点。如果一个使用者已连接至某个队列点,那么尝试连接至该队列点的后续使用者会被拒绝。
- -maintainStrictMessageOrder TRUE | FALSE
- 如果选择此选项(将其设置为 TRUE),那么会保留生产者将消息发送至目标时使用的顺序。
- 在运行时,此属性优先于其他配置属性值。有关在运行时被覆盖的配置属性的信息,请参阅总线目标的严格消息排序。
- -topicAccessCheckRequired
- 如果访问主题时需要进行授权检查,请添加此选项。
- -replyDestination
- 此属性旨在与应答消息的调解配合使用。有关如何使用此属性的更多信息,请参阅配置目标反向路由路径。
- -replyDestinationBus
- 对其配置应答目标的总线的名称。此属性旨在与应答消息的调解配合使用。有关如何使用此属性的更多信息,请参阅配置目标反向路由路径。
- -delegateAuthorizationCheckToTarget
- 如果要对期望目标执行授权检查,请添加此选项。
- -wmqQueueName
- 要将总线目标指定给 IBM MQ 队列,请同时指定该目标被指定给的 WebSphere MQ 服务器总线成员的名称(-wmqServer 参数)以及用于存储发送至此目标的消息的 IBM MQ 队列的名称(此参数)。将 -wmqServer 参数设置为创建 WebSphere MQ 服务器时给出的名称。将 -wmqQueueName 参数设置为 IBM MQ 管理分配给 IBM MQ 队列的名称。不要指定 -cluster、-node 或 -server 参数。
- -useRFH2 或 -mqRfh2Allowed TRUE | FALSE
- 确定发送至目标的消息是否具有 MQRFH2 头。
- 服务集成将消息从服务集成格式转换为 IBM MQ 格式时,缺省情况下 IBM MQ 消息中包括 MQRHF2 头。此头包含消息属性(例如 JMS 消息属性),这些消息属性不是 IBM MQ 消息属性,因此不会出现在 IBM MQ 消息描述符 (MQMD) 中。某些 IBM MQ 应用程序不能处理包括 MQRFH2 头的消息。如果发送至此目标的消息将由无法处理 MQRFH2 的 IBM MQ 应用程序处理,请取消选中此选项(将其设置为 FALSE)。
- 如果将队列类型目标指定给 WebSphere MQ 服务器总线成员,请使用 -useRFH2 参数。如果要创建别名目标或外部目标,请使用 -mqRfh2Allowed 参数。
- -auditAllowed TRUE | FALSE
- 在对总线和应用程序服务器启用了审计的情况下,取消选中此选项(将其设置为 FALSE)会阻止总线审计主题级别授权检查。缺省值为 TRUE。必须具有审计管理员特权才能使用此参数。如果在创建其他类型的目标时使用此参数,那么会忽略此参数。
- -defaultForwardRoutingPath
- 消息未包含正向路由路径时对该消息设置的正向路由路径值。此参数标识消息到达目标总线目标前必须通过的中间总线目标的顺序列表。该字段的格式是指定为如下所示的总线目标列表:bus_name:destination_name。
- -queuePoints
- 别名目标的用户使用的队列点列表。如果未提供特定队列点,那么可使用所有队列点。期望目标必须是与别名目标定义位于同一总线的队列目标。而且,期望目标必须是带有多个队列点的队列目标。
队列点被指定为如下格式:destination_name@messaging_engine_name。
- -mediationPoints
- 别名目标的用户使用的调解点列表。如果未提供特定调解点,那么可使用所有调解点。期望目标必须是与别名目标定义位于同一总线的已调解队列目标。而且,期望目标必须是带有多个调解点的队列目标。
调解点被指定为如下格式:destination_name@messaging_engine_name。
- -persistRedeliveryCount TRUE | FALSE
- 如果选中此选项(将其设置为 TRUE),那么传递失败的
JMS 消息计数将持久保存在消息存储器中。缺省情况下,此选项的值设置为 FALSE。要点: 虽然已选择该属性,但是在使用 WebSphere Application Server V9.0 和更高版本的 sibDBUpgrade 命令升级数据库表之前,该属性将不会生效。
示例
- 使用 Jython:
wsadmin>AdminTask.createSIBDestination(“[-bus bus1 -name myqueue -type QUEUE -node node1 -server server1]”) “(cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)”
- 使用 Jacl:
wsadmin>$AdminTask createSIBDestination {-bus bus1 -name myqueue -type QUEUE -node node1 -server server1} (cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)
示例:为“MyDestination1”创建可以使用两个队列点的目标别名“MyAlias1”:
- 使用 Jython:
wsadmin>AdminTask.createSIBDestination(“[-bus bus1 -type ALIAS -name MyAlias1 -aliasBus bus1 -targetName MyDestination1 -reliability INHERIT -maxReliability INHERIT -overrideOfQOSByProducerAllowed INHERIT -sendAllowed INHERIT -receiveAllowed INHERIT -queuePoints [[MyDestination1@cluster1.001-bus1] [MyDestination1@cluster1.002-bus1]]]”)
- 使用 Jacl:
wsadmin>$AdminTask createSIBDestination {-bus bus1 -type ALIAS -name MyAlias1 -aliasBus bus1 -targetName MyDestination1 -reliability INHERIT -maxReliability INHERIT -overrideOfQOSByProducerAllowed INHERIT -sendAllowed INHERIT -receiveAllowed INHERIT -queuePoints {{“MyDestination1@cluster1.001-bus1”} {“MyDestination1@cluster1.002-bus1”}}}