Befehl "createSIBDestinations"
Verwenden Sie den Befehl createSIBDestinations, um neue Busziele für einen Service Integration Bus zu erstellen.
Verwenden Sie zum Ausführen des Befehls das Objekt AdminTask des Scripting-Clients wsadmin.
Der Scripting-Client wsadmin wird über die Qshell ausgeführt.
Weitere Informationen finden Sie unter Qshell für die Ausführung von WebSphere-Scripts mit wsadmin-Scripting konfigurieren.
- Geben Sie den folgenden Befehl an der wsadmin-Eingabeaufforderung ein, um eine Liste der verfügbaren SIB-Befehle in Jython und eine Kurzbeschreibung jedes einzelnen Befehls anzuzeigen:
print AdminTask.help('SIBAdminCommands')
- Zum Anzeigen einer übersichtlichen Hilfe zu einem bestimmten Befehl geben Sie an der
wsadmin-Eingabeaufforderung den folgenden Befehl ein:
print AdminTask.help('Befehlsname')
AdminConfig.save()
Zweck
Der Befehl createSIBDestinations erstellt mehrere neue Busziele für einen Service Integration Bus, die alle dieselben Eigenschaften haben. Wenn die erstellten Ziele Aliasziele sind, sind sie alle für dasselbe Ziel bestimmt. Mit diesem Befehl können die neuen Busziele auch in einem Busmember des Typs WebSphere MQ-Server verwendet werden.
Zielobjekt
Ein Service Integration Bus.
Erforderliche Parameter
- -bus
- Der Name des Service Integration Bus, in dem Sie die Busziele erstellen möchten. Verwenden Sie zum Auflisten der Namen vorhandener Busse den Befehl listSIBuses.
- -nameList
- Die Liste der IDs, unter denen diese Ziele für Verwaltungszwecke bekannt sind.
- -type
- Gibt den Typ des Busziels an, das Sie erstellen möchten:
- Alias
- Ein Aliasziel. Diese Ziele bieten eine Abstraktionsstufe zwischen Anwendungen und den zugrunde liegenden geplanten Buszielen, in denen Nachrichten gespeichert werden. Anwendungen interagieren mit dem Aliasziel. Deshalb kann das geplante Busziel geändert werden, ohne die Anwendung ändern zu müssen.
- Foreign
- Ein fremdes Ziel. Diese Ziele geben ein Ziel in einem anderen Bus an und ermöglichen Anwendungen in einem Bus den direkten Zugriff auf das Ziel in einem anderen Bus.
- Port
- Stellt eine bestimmte Nachricht und Transportbindung für einen abgehenden Service dar, der mit einem externen Ziel-Web-Service kommuniziert.
- Queue
- Eine Warteschlange für Punkt-zu-Punkt-Messaging.
- TopicSpace
- Ein Topicbereich für Publish/Subscribe-Messaging.
- WebService
- Stellt einen externen Ziel-Web-Service dar.
Vorgegebene Parameter
Ohne.
Optionale Parameter
- -cluster
- Wenn Sie die Busziele einem Busmember des Typs "Cluster" zuordnen möchten, geben Sie den Namen des Clusters an. Geben Sie die Parameter -node, -server und -wmqServer nicht an.
- -node
- Wenn Sie die Busziele einem Busmember des Typs "Server" zuordnen möchten, geben Sie den Namen des Knotens, auf dem der Server ausgeführt wird, und den Namen des Servers an. Geben Sie den Parameter -cluster bzw. -wmqServer nicht an.
- -server
- Wenn Sie die Busziele einem Busmember des Typs "Server" zuordnen möchten, geben Sie den Namen des Knotens, auf dem der Server ausgeführt wird, und den Namen des Servers an. Geben Sie den Parameter -cluster bzw. -wmqServer nicht an.
- -wmqServer
- Wenn Sie die Busziele einer IBM MQ-Warteschlange zuordnen möchten, geben Sie den Namen des Busmembers vom Typ WebSphere MQ-Server an, dem das Ziel zugeordnet ist (dieser Parameter), und den Namen der IBM MQ-Warteschlange, die zum Speichern der Nachrichten verwendet wird, die an die Ziele gesendet werden (Parameter -wmqQueueName). Setzen Sie den Parameter -wmqServer auf den Namen, den Sie vergeben haben, als Sie den WebSphere MQ-Server erstellt haben. Setzen Sie den Parameter -wmqQueueName auf den Namen, der der IBM MQ-Warteschlange von der IBM MQ-Verwaltung zugeordnet wurde. Geben Sie die Parameter -cluster, -node und -server nicht an.
- -aliasBus
- Wenn Sie Aliasziele erstellen, geben Sie den Quellenbusnamen der Aliaszuordnung an.
- -targetBus
- Wenn Sie Aliasziele erstellen, geben Sie den Namen des Busses an, dem die Aliasziele zugeordnet sind.
- -targetName
- Wenn Sie Aliasziele erstellen, geben Sie den Namen des Ziels an, dem die Aliasziele zugeordnet sind.
- -foreignBus
- Wenn Sie fremde Ziele erstellen, geben Sie den Namen des fremden Busses an.
- -description
- Geben Sie eine Beschreibung für die Busziele für Verwaltungszwecke an.
- -reliability
- Geben Sie die Standardzuverlässigkeitsstufe an, die den für diese Ziele erzeugten
Nachrichten zugeordnet werden soll, wenn keine explizite Zuverlässigkeit von der Erzeugeranwendung
definiert wurde.
Die Serviceintegration unterstützt fünf Zuverlässigkeitsstufen (die auch als Zustelloptionen oder Servicequalitäten bezeichnet werden):
- BEST_EFFORT_NONPERSISTENT
- Nachrichten werden verworfen, wenn eine Messaging-Engine gestoppt wird oder ein Fehler auftritt. Nachrichten können auch verworfen werden, wenn die Verbindung, in der sie übertragen wurden, nicht mehr verfügbar ist oder wenn die Systemressourcen knapp werden.
- EXPRESS_NONPERSISTENT
- Nachrichten werden verworfen, wenn eine Messaging-Engine gestoppt wird oder ein Fehler auftritt. Nachrichten können auch verworfen werden, wenn die Verbindung, in der sie übertragen wurden, nicht mehr verfügbar ist.
- RELIABLE_NONPERSISTENT
- Nachrichten werden verworfen, wenn eine Messaging-Engine gestoppt wird oder ein Fehler auftritt.
- RELIABLE_PERSISTENT
- Nachrichten können verworfen werden, wenn eine Messaging-Engine ausfällt.
- ASSURED_PERSISTENT
- Nachrichten werden nicht verworfen.
Anmerkung: Eine höhere Zuverlässigkeitsstufe hat einen höheren Einfluss auf die Leistung.Weitere Informationen zu den Zuverlässigkeitsstufen der Serviceintegration finden Sie im Artikel Nachrichtenzuverlässigkeitsstufen - JMS-Zustellmodus und Servicequalität der Serviceintegration.
- -maxReliability
- Geben Sie die maximale Zuverlässigkeitsstufe an, die für die von Erzeugeranwendungen angegebenen Werte
akzeptiert wird.
Die Serviceintegration unterstützt fünf Zuverlässigkeitsstufen (die auch als Zustelloptionen oder Servicequalitäten bezeichnet werden):
- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
Weitere Informationen zu den Zuverlässigkeitsstufen der Serviceintegration finden Sie im Artikel Nachrichtenzuverlässigkeitsstufen - JMS-Zustellmodus und Servicequalität der Serviceintegration.
- -nonPersistentReliability
Geben Sie die Servicequalität der Serviceintegration an, die für nicht persistente IBM MQ-Nachrichten verwendet werden soll, die von der Serviceintegration von einem IBM MQ-Netz empfangen werden. Die Nachrichten in einem IBM MQ-Netz haben eine eigene Stufe der Servicequalität. Diese ist entweder persistent oder nicht persistent. Wenn diese Nachrichten von einer Serviceintegrationsanwendung empfangen werden, wird ihnen eine Servicequalitätsstufe der Serviceintegration zugewiesen, die von der Servicequalitätsstufe in IBM MQ abhängig ist.
Für empfangene nicht persistente IBM MQ-Nachrichten ist die Standardservicequalität der Serviceintegration RELIABLE_NONPERSISTENT. Wenn Sie sich für das Überschreiben dieser Standardeinstellung entscheiden, werden Sie wahrscheinlich eine der anderen nicht persistenten Servicequalitäten der Serviceintegration (BEST_EFFORT_NONPERSISTENT oder EXPRESS_NONPERSISTENT) auswählen. Sie können jedoch jede der fünf möglichen Servicequalitäten der Serviceintegration auswählen:- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
Nähere Informationen finden Sie im Artikel Zuordnung der JMS-Zustelloption sowie der Nachrichtenzuverlässigkeit und IBM MQ-Persistenzwerten.
- -persistentReliability
Geben Sie die Servicequalität der Serviceintegration an, die für persistente IBM MQ-Nachrichten verwendet werden soll, die von der Serviceintegration von einem IBM MQ-Netz empfangen werden. Die Nachrichten in einem IBM MQ-Netz haben eine eigene Stufe der Servicequalität. Diese ist entweder persistent oder nicht persistent. Wenn diese Nachrichten von einer Serviceintegrationsanwendung empfangen werden, wird ihnen eine Servicequalitätsstufe der Serviceintegration zugewiesen, die von der Servicequalitätsstufe in IBM MQ abhängig ist.
Für empfangene persistente IBM MQ-Nachrichten ist die Standardservicequalität der Serviceintegration ASSURED_PERSISTENT. Wenn Sie sich für das Überschreiben dieser Standardeinstellung entscheiden, werden Sie wahrscheinlich die andere nicht persistente Servicequalität der Serviceintegration (RELIABLE_PERSISTENT) auswählen. Sie können jedoch jede der fünf möglichen Servicequalitäten der Serviceintegration auswählen:- BEST_EFFORT_NONPERSISTENT
- EXPRESS_NONPERSISTENT
- RELIABLE_NONPERSISTENT
- RELIABLE_PERSISTENT
- ASSURED_PERSISTENT
Nähere Informationen finden Sie im Artikel Zuordnung der JMS-Zustelloption sowie der Nachrichtenzuverlässigkeit und IBM MQ-Persistenzwerten.
- -overrideOfQOSByProducerAllowed TRUE | FALSE
- Steuert die Servicequalität für Nachrichtenfolgen zwischen Erzeugern und dem Ziel. Wählen Sie diese Option aus, um die von Erzeugern angegebene Servicequalität anstelle der für das Ziel definierten Qualität zu verwenden.
- -defaultPriority Zahl
- -maxFailedDeliveries Zahl
- Geben Sie einen Wert zwischen 0 und 2147483647 an. Wenn Sie den Wert 0 (null) verwenden, wird eine Nachricht, die nicht beim ersten Versuch zugestellt werden kann, gemäß der mit dem Parameter -exceptionDestination festgelegten Einstellung entweder an das Ausnahmeziel weitergeleitet oder verworfen.
- -exceptionDestination Wert
- Standardmäßig werden alle Nachrichten, die diesem Ziel nicht zugestellt werden können,
an das Standardausnahmeziel des Systems für die Messaging-Engine umgeleitet, der dieses Ziel
zugeordnet ist (_SYSTEM.Exception.Destination.Name_der_Messaging-Engine). Verwenden Sie diesen
Parameter, um den Standardwert zu überschreiben. Sie können ein bestimmtes Ausnahmeziel für dieses Ziel angeben, oder Sie können festlegen,
dass nicht zustellbare Nachrichten nicht an ein Ausnahmeziel umgeleitet werden, indem Sie eine leere Zeichenfolge ("") angeben, die bewirkt, dass die Einstellung für die maximale Anzahl fehlgeschlagener Zustellungen nicht angewendet wird. Anmerkung: Eine nicht zustellbare Nachricht kann die Verarbeitung anderer Nachrichten, die auf Zustellung an dasselbe Ziel warten, blockieren.
- Sie können diese Option verwenden und angeben, dass kein Ausnahmeziel für die Einhaltung der Nachrichtenreihenfolge verwendet wird.
- -sendAllowed TRUE | FALSE
- Wählen Sie diese Option ab (indem Sie sie auf FALSE setzen), um zu verhindern, dass Erzeuger
Nachrichten an diese Ziele senden.
- Die neuen Nachrichten (von verbundenen Erzeugern oder von einem anderen Ziel weitergeleitet) für einen Warteschlangenpunkt eines nicht vermittelten Ziels oder einen Mediationspunkt eines vermittelten Ziels werden an die verfügbaren Nachrichtenpunkte weitergeleitet. Wenn keine Nachrichtenpunkte verfügbar sind, werden Nachrichten, die bereits im Bus angenommen wurden, und neue Nachrichten von verbundenen Erzeugern vom Bus so lange aufgewahrt, bis wieder ein Nachrichtenpunkt verfügbar ist. Ausgenommen hiervon sind Ziele mit nur einem Nachrichtenpunkt (Warteschlangenpunkt bzw. Mediationspunkt, je nachdem, ob das Ziel vermittelt oder nicht vermittelt ist), bei denen der Erzeuger mit derselben Messaging-Engine verbunden ist. In diesem Fall wird bei jedem Sendeaufruf eine Ausnahmenachricht generiert. Die Ausnahmenachricht zeigt an, dass die einzige vorhandene Lokalisierung für Sendevorgänge inaktiviert wurde. Der Erzeuger bleibt geöffnet, und alle weiteren Sendeaufrufe werden ordnungsgemäß durchgeführt, wenn die Eigenschaft Senden zulässig der Lokalisierung erneut ausgewählt (auf TRUE gesetzt) wird.
- Wenn Sie diese Option für einen Warteschlangenpunkt eines vermittelten Ziels abwählen, werden Nachrichten von Mediationsinsanzen an einen verfügbaren Nachrichtenpunkt umgleitet. Sind keine Nachrichtenpunkte verfügbar, werden die Nachrichten vom Bus so lange aufbewahrt, bis wieder ein Nachrichtenpunkt verfügbar ist. Für alle Mediationsinsanzen (d. h. in allen Servern, die einen Mediationspunkt haben) gilt Folgendes: Wenn sich im selben Server ein Warteschlangenpunkt befindet und dieser Warteschlangenpunkt der einzige für das Ziel ist, wechselt die Mediation in den Status "Gestoppt wegen Fehler".
- -receiveAllowed TRUE | FALSE
- Wenn Sie diese Option für den Nachrichtenpunkt abwählen, können offene Konsumenten den Status ändern, und es wird eine Ausnahme generiert, wenn der Konsument eine Nachricht anfordert. Es können weiterhin Nachrichten gesendet werden und sich am Nachrichtenpunkt ansammeln.
- -receiveExclusive TRUE | FALSE
- Wählen Sie diese Option aus (indem Sie sie auf "true" setzen), wenn einem Ziel nur ein einziger Konsument zugeordnet werden soll. Wenn Sie diese Option auswählen, kann jedem Warteschlangenpunkt eines Warteschlangenziels immer nur ein einziger Konsument zugeordnet werden. Nachfolgende Konsumenten, die versuchen, eine Verbindung zu einem Warteschlangenpunkt herzustellen, denen bereits ein Konsument zugeordnet ist, werden zurückgewiesen.
- -maintainStrictMessageOrder TRUE | FALSE
- Wählen Sie diese Option aus (indem Sie sie auf TRUE setzen), um die Reihenfolge zu bewahren, in der ein Erzeuger Nachrichten an ein Ziel sendet.
- Zur Laufzeit hat diese Eigenschaft Vorrang vor anderen Konfigurationseigenschaftenwerten. Weitere Informationen zu den Konfigurationseigenschaften, die zur Laufzeit überschrieben werden, finden Sie im Artikel Strikte Nachrichtenreihenfolge für Busziele.
- -topicAccessCheckRequired
- Schließen Sie diese Option ein, wenn Berechtigungsprüfungen für den Zugriff auf Topics erforderlich sind.
- -replyDestination
- Diese Eigenschaft ist für Mediationen von Antwortnachrichten bestimmt. Nähere Informationen zur Verwendung dieser Eigenschaft finden Sie im Artikel Einen Reverse-Routing-Pfad für ein Ziel konfigurieren.
- -replyDestinationBus
- Der Name des Busses, in dem das Antwortziel konfiguriert ist. Diese Eigenschaft ist für Mediationen von Antwortnachrichten bestimmt. Nähere Informationen zur Verwendung dieser Eigenschaft finden Sie im Artikel Einen Reverse-Routing-Pfad für ein Ziel konfigurieren.
- -delegateAuthorizationCheckToTarget
- Schließen Sie diese Option ein, wenn die Berechtigungsprüfung am geplanten Ziel durchgeführt werden soll.
- -wmqQueueName
- Wenn Sie diese Busziele einer IBM MQ-Warteschlange zuordnen möchten, geben Sie den Namen des Busmembers vom Typ WebSphere MQ-Server, dem die Ziele zugeordnet sind (Parameter -wmqServer), und den Namen der IBM MQ-Warteschlange an, die zum Speichern der Nachrichten verwendet wird, die an diese Ziele gesendet werden (dieser Parameter). Setzen Sie den Parameter -wmqServer auf den Namen, den Sie vergeben haben, als Sie den WebSphere MQ-Server erstellt haben. Setzen Sie den Parameter -wmqQueueName auf den Namen, der der IBM MQ-Warteschlange von der IBM MQ-Verwaltung zugeordnet wurde. Geben Sie die Parameter -cluster, -node und -server nicht an.
- -useRFH2 oder -mqRfh2Allowed TRUE | FALSE
- Bestimmt, ob Nachrichten, die an diese Ziele gesendet werden, einen MQRFH2-Header enthalten.
- Wenn die Serviceintegration eine Nachricht aus einem Serviceintegrationsformat in das IBM MQ-Format konvertiert, wird standardmäßig ein MQRHF2-Header in die IBM MQ-Nachricht eingefügt. Dieser Header enthält Nachrichtenattribute, z. B. JMS-Nachrichtenattribute, die keine IBM MQ-Nachrichtenattribute sind und deshalb nicht im IBM MQ-Nachrichtendeskriptor (MQMD) erscheinen. Manche IBM MQ-Anwendungen können keine Nachrichten verarbeiten, die einen MQRFH2-Header enthalten. Werden Nachrichten, die an dieses Ziel gesendet werden, von IBM MQ-Anwendungen verarbeitet, die keinen MQRFH2-Header tolerieren, wählen Sie diese Option ab (indem Sie sie auf FALSE setzen).
- Wenn Sie einem Busmember vom Typ WebSphere MQ-Server Warteschlangenziele zuordnen möchten, verwenden Sie den Parameter -useRFH2. Wenn Sie Aliasziele oder fremde Ziele erstellen, verwenden Sie den Parameter -mqRfh2Allowed.
- -auditAllowed TRUE | FALSE
- Wählen Sie diese Option ab (indem Sie sie auf FALSE setzen), um den Bus an der Durchführung von Berechtigungsprüfungen auf Topicebene durchzuführen, wenn im Bus und im Anwendungsserver die Prüfung aktiviert ist. Der Standardwert ist TRUE. Zur Verwendung dieses Parameters benötigen Sie die Berechtigungen eines Prüfadministrators. Der Parameter wird ignoriert, wenn er beim Erstellen anderer Zieltypen verwendet wird.
- -defaultForwardRoutingPath
- Der Wert, auf den der Routing-Pfad einer Nachricht gesetzt wird, wenn die Nachricht keinen Routing-Pfad enthält. Er definiert eine sortierte Liste zwischengeschalteter Busziele, die Nachrichten durchlaufen müssen, um ein endgültiges Busziel zu erreichen. Das Format des Feld ist eine Liste mit Buszielen, die mit Busname:Zielname angegeben werden.
- -queuePoints
- Eine Liste der Warteschlangenpunkte, die von Benutzern des Aliasziels verwendet werden.
Wenn keine Warteschlangenpunkte angegeben sind, können alle Warteschlangenpunkte verwendet werden.
Das geplante Ziel muss ein Warteschlangenziel in demselben Bus wie die Aliaszieldefinition sein.
Außerdem muss das geplante Ziel ein Warteschlangenziel mit mehreren Warteschlangenpunkten sein.
Ein Warteschlangenpunkt wird im Format Zielname@Name_der_Messaging-Engine angegeben.
- -mediationPoints
- Eine Liste der Mediationspunkte, die von Benutzern des Aliasziels verwendet werden.
Wenn keine bestimmten Mediationspunkte angegeben sind, können alle Mediationspunkte verwendet werden.
Das geplante Ziel muss ein vermitteltes Warteschlangenziel in demselben Bus wie die Aliaszieldefinition sein.
Außerdem muss das geplante Ziel ein Warteschlangenziel mit mehreren Mediationspunkten sein.
Ein Mediationspunkt wird im Format Zielname@Name_der_Messaging-Engine angegeben.
- -persistRedeliveryCount TRUE | FALSE
- Wählen Sie diese Option aus (indem Sie sie auf TRUE setzen), um die Anzahl der fehlgeschlagenen Zustellungen
von JMS-Nachrichten im Nachrichtenspeicher persistent zu speichern. Der Standardwert für die Option ist
FALSE. Wichtig: Trotz Auswahl der Eigenschaft ist die Eigenschaft erst wirksam, nachdem ein Upgrade der Datenbanktabellen mit dem Befehl sibDBUpgrade für WebSphere Application Server Version 9.0 und höher durchgeführt wurde.
Beispiel 1
- Mit Jython:
wsadmin>AdminTask.createSIBDestinations("[-bus bus1 -type QUEUE -cluster cluster1 -nameList [[-identifier myqueue1][-identifier myqueue2]]]") "(cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)"
- Mit Jacl:
wsadmin>$AdminTask createSIBDestinations {-bus bus1 -type QUEUE -cluster cluster1 -nameList {{myqueue1} {myqueue2}}} (cells/9994GKCCell01/buses/bus1|sib-destinations.xml#SIBQueue_1098215169998)
Beispiel 2:
- Mit 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]]]")
- Mit 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}}}