createSIBDestinations 指令
請利用 createSIBDestinations 指令來建立服務整合匯流排的新匯流排目的地。
如果要執行這個指令,請使用 wsadmin Scripting 用戶端的 AdminTask 物件。
從 Qshell 執行 wsadmin Scripting 用戶端。
- 如需 Jython 中可用的服務整合匯流排指令清單,以及每個指令的簡要說明,請在 wsadmin 提示下,輸入下列指令:
print AdminTask.help('SIBAdminCommands')
- 如需給定指令的概觀說明,請在 wsadmin 提示下,輸入下列指令:
print AdminTask.help('command_name')
使用指令之後,請利用下列指令,儲存對主要配置所做的變更:
用途
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_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 數字
- 當生產者未設定優先順序時,指派給傳送到這個目的地之訊息的預設優先順序。
- -maxFailedDeliveries 數字
- 嘗試處理訊息的失敗次數上限。 一旦超過這個失敗嘗試次數,即會將訊息從預期的目的地轉遞至其異常狀況目的地。 請指定在 0 到 2147483647範圍內的值。 值 0 (零) 表示如果第一次嘗試時無法遞送訊息,則會將訊息轉遞至異常狀況目的地或捨棄 (如 -exceptionDestination 參數所定義)。
- -exceptionDestination 值
- 使用這些內容,可定義任何無法遞送到此目的地的訊息會發生什麼情況。
- -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 標頭。
- -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:
MyAlias1 和 MyAlias2的 MyDestination1 別名。 這些別名目的地可讓您存取目標目的地的單一佇列點:- 使用 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}}}