createSIBDestinations 指令

請利用 createSIBDestinations 指令來建立服務整合匯流排的新匯流排目的地。

如果要執行這個指令,請使用 wsadmin Scripting 用戶端的 AdminTask 物件。

[IBM i][IBM i]從 Qshell 執行 wsadmin Scripting 用戶端

服務整合匯流排指令有指令行說明:
  • 如需 Jython 中可用的服務整合匯流排指令清單,以及每個指令的簡要說明,請在 wsadmin 提示下,輸入下列指令:

    print AdminTask.help('SIBAdminCommands')

  • 如需給定指令的概觀說明,請在 wsadmin 提示下,輸入下列指令:

    print AdminTask.help('command_name')

使用指令之後,請利用下列指令,儲存對主要配置所做的變更:

AdminConfig.save()

用途

createSIBDestinations 指令會為服務整合匯流排建立多個新的匯流排目的地,且全部都有相同的內容。 如果建立的目的地是別名目的地,則它們都以相同的目的地為目標。 利用這個指令,新的匯流排目的地也可以本地化為 WebSphere® MQ 伺服器匯流排成員。

目標物件

服務整合匯流排。

必要參數

-bus
要在其上建立匯流排目的地的服務整合匯流排名稱。 如果要列出現有匯流排的名稱,請使用 listSIBuses 指令。
-nameList
用來識別這些目的地以進行管理的 ID 清單。
-type
指出您要建立的匯流排目的地類型:
別名
別名目的地,在應用程式與保留訊息的基礎目標匯流排目的地之間提供抽象層次。 應用程式會與別名目的地互動,因此可以在不變更應用程式的情況下變更目標匯流排目的地。
外部
外部目的地,可識別另一個匯流排上的目的地,並可讓一個匯流排上的應用程式直接存取另一個匯流排上的目的地。
埠號
代表與外部管理的目標 Web 服務通訊之出埠服務的特定訊息和傳輸連結。
佇列
佇列,用於點對點傳訊。
TopicSpace
主題空間,用於發佈/訂閱傳訊。
WebService
代表外部管理的目標 Web 服務。

條件式參數

無。

選用參數

-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
指定當生產者應用程式尚未設定明確可靠性時,要指派給這些目的地所產生之訊息的預設可靠性層次。 服務整合支援可靠性層次(也稱為遞送選項或服務品質):
BEST_EFFORT_NONPERSISTENT
傳訊引擎停止或失效時捨棄的訊息。 訊息也可能因為用來傳送訊息的連線無法使用,或系統資源受到限制,而遭到捨棄。
EXPRESS_NONPERSISTENT
傳訊引擎停止或失效時捨棄的訊息。 如果用來傳送訊息的連線無法使用,也可能捨棄訊息。
RELIABLE_NONPERSISTENT
傳訊引擎停止或失效時捨棄的訊息。
RELIABLE_PERSISTENT
當傳訊引擎失敗時,可能會捨棄訊息。
ASSURED_PERSISTENT
不捨棄訊息。
附註: 可靠性層次越高,對效能的影響越大。

如需服務整合可靠性層次的相關資訊,請參閱 訊息可靠性層次-JMS 遞送模式和服務整合服務品質

-maxReliability
指定生產者應用程式指定的值所接受的可靠性層次上限。 服務整合支援可靠性層次(也稱為遞送選項或服務品質):
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_NONPERSISTENTEXPRESS_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 數字
當生產者未設定優先順序時,指派給傳送到這個目的地之訊息的預設優先順序。
-maxFailedDeliveries 數字
嘗試處理訊息的失敗次數上限。 一旦超過這個失敗嘗試次數,即會將訊息從預期的目的地轉遞至其異常狀況目的地。 請指定在 02147483647範圍內的值。 值 0 (零) 表示如果第一次嘗試時無法遞送訊息,則會將訊息轉遞至異常狀況目的地或捨棄 (如 -exceptionDestination 參數所定義)。
-exceptionDestination
使用這些內容,可定義任何無法遞送到此目的地的訊息會發生什麼情況。
依預設,所有無法遞送至這個目的地的訊息都會重新遞送至這個目的地所指派之傳訊引擎的系統預設異常狀況目的地 (_SYSTEM.Exception.Destination.messaging_engine_name)。 請利用這個參數來置換預設值。 您可以對這個目的地設定特定的異常狀況目的地,也可以輸入空字串 (""),指定無法遞送的訊息不要重新遞送到異常狀況目的地,這時失敗的遞送次數上限計數沒有作用。
附註: 無法遞送的訊息可能會阻止處理等待遞送至相同目的地的其他訊息。
您可以使用這個選項,指定無異常狀況目的地,以保留訊息排序。
-sendAllowed TRUE | FALSE
清除此選項 (將它設為 FALSE) ,讓生產者無法將訊息傳送至這些目的地。
  • 對於非調解目的地的佇列點,或調解目的地的調解點,如果您清除這個選項,則會將新訊息 (從附加的產生者或從另一個目的地轉遞) 重新導向至任何可用的訊息點。 如果沒有可用的訊息點,匯流排會保留已接受到匯流排的訊息,以及來自附加生產者的新訊息,直到訊息點變成可用為止。 唯一的例外是只有一個訊息點的目的地 (佇列點或調解點,視目的地是調解或非調解而定) ,其中生產者連接到相同的傳訊引擎。 在此情況下,每次傳送呼叫都會產生異常狀況訊息。 異常狀況訊息指出已停用唯一的現存本地化傳送。 生產者仍照常開啟,如果重新選取本地化的 容許傳送 內容 (重設為 TRUE) ,則任何其他傳送呼叫都會成功。
  • 對於調解目的地的佇列點,如果您清除這個選項,則調解實例中的訊息會重新導向至任何可用的訊息點。 如果沒有可用的訊息點,匯流排會保留這些訊息,直到訊息點變成可用為止。 對於任何調解實例 (亦即,在具有調解點的任何伺服器上) ,如果相同伺服器管理佇列點,且該佇列點是目的地的唯一佇列點,則調解會變更為 stopped on error 狀態。
-receiveAllowed TRUE | FALSE
清除這個選項(將它設為 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

如果指定多個完整匯流排目的地,請以空格區隔每一個完整匯流排目的地。

例如,您指定 (在 Jython 中) 包含來自 BUS1 的 Queue1 及來自 BUS2 的 Queue2 的遞送路徑,如下所示:
-defaultForwardRoutingPath=[[BUS1 Queue1] [BUS2 Queue2]]
-queuePoints
別名目的地的使用者所使用的佇列點清單。 如果未提供特定的佇列點,則可以使用所有佇列點。 目標目的地必須是與別名目的地定義位於相同匯流排中的佇列目的地。 目標目的地也必須是具有多個佇列點的佇列目的地。

destination_name@messaging_engine_name格式指定佇列點。

-mediationPoints
別名目的地的使用者所使用的調解點清單。 如果未提供特定的調解點,則可以使用所有調解點。 在與別名目的地定義相同的匯流排中,目標目的地必須是調解的佇列目的地。 目標目的地也必須是具有多個調解點的佇列目的地。

調解點以 destination_name@messaging_engine_name格式指定。

-persistRedeliveryCount TRUE | FALSE
選取此選項 (將它設為 TRUE) ,以將 JMS 訊息的失敗遞送計數持續保存在訊息儲存庫中。 依預設,選項的值會設為 FALSE
重要事項: 雖然選取此內容,但在使用 WebSphere Application Server 9.0 以及更新版本的 sibDBUpgrade 指令升級資料庫表格之前,此內容將不會生效。

範例1

  • 使用 Jython:
    wsadmin>AdminTask.createSIBDestinations("[-bus bus1 -type QUEUE
    -cluster cluster1 -nameList [[-identifier myqueue1][-identifier myqueue2]]]")
    "(cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)"
  • 使用 Jacl:
    wsadmin>$AdminTask createSIBDestinations {-bus bus1 -type QUEUE 
    -cluster cluster1 -nameList {{myqueue1} {myqueue2}}}
    (cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)

範例 2:

建立稱為 MyAlias1MyAlias2MyDestination1 別名。 這些別名目的地可讓您存取目標目的地的單一佇列點:
  • 使用 Jython:
    wsadmin>AdminTask.createSIBDestinations("[-bus bus1 -type ALIAS 
    -nameList [[MyAlias1][MyAlias2]] -aliasBus bus1 
    -targetName MyDestination1 -reliability INHERIT -maxReliability INHERIT 
    -overrideOfOQSByProducerAllowed INHERIT -sendAllowed INHERIT 
    -receiveAllowed INHERIT -queuePoints [[MyDestination1@cluster1.001-bus1]
    [MyDestination1@cluster1.002-bus1]]]")
  • 使用 Jacl:
    wsadmin>set cluster [ lindex [ $AdminConfig list ServerCluster ] 1 ] 
    wsadmin>$AdminTask createSIBDestinations {-bus bus1 -type ALIAS 
    -nameList {{MyAlias1} {MyAlias2}} -aliasBus bus1 
    -targetName MyDestination1 -reliability INHERIT -maxReliability INHERIT 
    -overrideOfOQSByProducerAllowed INHERIT -sendAllowed INHERIT 
    -receiveAllowed INHERIT -queuePoints {{"MyDestination1@cluster1.001-bus1"} 
    {"MyDestination1@cluster1.002-bus1}}}