Befehl "createSIBJMSConnectionFactory"
Verwenden Sie den Befehl createSIBJMSConnectionFactory, um eine neue JMS-Verbindungsfactory für den Standard-Messaging-Provider für einen bestimmten Geltungsbereich 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-JMS-Befehle in Jython und eine Kurzbeschreibung jedes einzelnen Befehls
anzuzeigen:
print AdminTask.help('SIBJMSAdminCommands')
- 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
Dieser Befehl erstellt eine neue JMS-Verbindungsfactory für einen bestimmten Geltungsbereich.
Zielobjekt
Der Geltungsbereich des Standard-Messaging-Providers, für den die JMS-Verbindungsfactory erstellt wird.
Erforderliche Parameter
- -name
- Der Verwaltungsname, der dieser Verbindungsfactory zugeordnet wird.
- -jndiName
- Der JNDI-Name, der in den Bindungen für nachrichtengesteuerte Beans, die dieser Verbindungsfactory zugeordnet sind, definiert ist.
- -busName
- Geben Sie den Namen des Service Integration Bus (SIB) an, zu dem Verbindungen hergestellt werden. Dies muss der Name des Busses sein, in dem das mit der Eigenschaft -destinationJndiName angegebene Ziel definiert ist.
Optionale Parameter
- -type
- queue | topic
- Mit dem Parameter Typ wird der Typ der zu erstellenden Verbindungsfactory angegeben. Wenn Sie eine Verbindungsfactory für Verbindungen erstellen möchten, setzen Sie diesen Parameter auf queue. Wenn Sie eine Topicverbindungsfactory erstellen möchten, setzen Sie diesen Parameter auf topic. Definieren Sie den Parameter nicht, wenn Sie eine generische Verbindungsfactory erstellen möchten.
- -category
- Eine optionale Zeichenfolge für die Kategorie, die zum Klassifizieren oder Gruppieren der Ressource verwendet wird.
- -description
- Text
- -logMissingTransactionContext
- True | False
- -manageCachedHandles
- True | False
- -clientID
- id
- -userName
- Name
- -password
- Kennwort
- -target
-
Bevor die auf Verbindungsproximität basierende Suche zur Auswahl einer geeigneten Messaging-Engine durchgeführt wird, werden die Messaging-Engines ausgewählt, die Member der angegebenen Zielgruppe sind. Die auf Verbindungsproximität basierende Suche wird dann auf diese Messaging-Engines beschränkt. Wenn keine Zielgruppe angegeben ist (Standardeinstellung), werden bei der Überprüfung der Verbindungsproximität alle Messaging-Engines im Bus berücksichtigt. Wenn die Eigenschaft Zieltyp beispielsweise auf Name des Busmembers gesetzt wird, gibt die Eigenschaft Ziel den Namen des Busmembers an, aus dem in Frage kommende Messaging-Engines ausgewählt werden können.
- -targetType
- Wählen Sie einen der folgenden Werte aus:
- Name des Busmembers
- Der Name eines Busmembers. Diese Option ruft die aktiven Messaging-Engines im angegebenen Busmember (einem Anwendungsserver oder Server-Cluster) ab.
Wenn Sie ein Busmember angeben möchten, das kein Cluster ist, muss die Eigenschaft -target auf Knotenname.Servername, z. B. Node01.server1, gesetzt werden. Für Busmember des Typs "Cluster" muss die Eigenschaft -target auf den Clusternamen gesetzt werden.
- Name der angepassten Gruppe von Messaging-Engines
- Der Name einer angepassten Gruppe von Messaging-Engines (ein sich selbst deklarierender Cluster). Diese Option ruft die aktiven Messaging-Engines ab, die in der angegebenen angepassten Gruppe registriert sind.
- Name der Messaging-Engine
- Der Name einer Messaging-Engine. Diese Option ruft die verfügbaren Endpunkte ab, die verwendet werden können, um die angegebene Messaging-Engine zu erreichen.
- -targetSignificance
Diese Eigenschaft definiert, ob die Überprüfung der Verbindungsproximität auf die Messaging-Engines in der Zielgruppe beschränkt werden soll.
Wählen Sie einen der folgenden Werte aus:- Bevorzugt
- Vorzugsweise soll eine Messaging-Engine aus der Zielgruppe gewählt werden. Es wird nur dann eine Messaging-Engine aus der Zielgruppe gewählt, wenn eine verfügbar ist. Sollte in der Zielgruppe keine Messaging-Engine verfügbar sein, wird eine Messaging-Engine außerhalb der Zielgruppe gewählt, sofern eine solche im selben Service Integration Bus verfügbar ist.Anmerkung: Es kann eine Verbindung zu einem nicht bevorzugten Ziel zurückgegeben werden, selbst wenn ein bevorzugtes Ziel verfügbar ist. Dies kann geschehen, wenn das Verbindungs-Pooling für ein ConnectionFactory-Objekt aktiviert ist, was standardmäßig der Fall ist, wenn Sie ein JMS-ConnectionFactory-Objekt in einer Serverumgebung verwenden:
- Falls keine bevorzugte Messaging-Engine verfügbar ist, kann eine Verbindung zu einem nicht bevorzugten Server erstellt und im Verbindungspool gespeichert werden.
- Wenn die Anwendung das nächste Mal eine Verbindung anfordert, erhält sie diese Verbindung aus dem Pool, selbst wenn die bevorzugte Messaging-Engine wieder verfügbar ist.
- Erforderlich
- Es muss eine Messaging-Engine aus der Zielgruppe gewählt werden. Es wird nur dann eine Messaging-Engine aus der Zielgruppe gewählt, wenn eine verfügbar ist. Sollte in der Zielgruppe keine Messaging-Engine verfügbar sein, schlägt der Verbindungsprozess fehl.
- -targetTransportChain
-
Diese Transportketten geben die Kommunikationsprotokolle vor, die für die Kommunikation mit dem Anwendungsserver verwendet werden können, mit dem die Clientanwendung verbunden ist.
Wenn die ausgewählte Messaging-Engine im selben Server wie die Anwendung ausgeführt wird, wird eine direkte prozessinterne Verbindung hergestellt. In diesem Fall wird diese Transportketteneigenschaft ignoriert.
Die Transportketten sind Netzprotokollstapel in einem Server. Der angegebene Name muss eine der Transportketten sein, die in dem Server mit der Messaging-Engine verfügbar und in der Anzeige aufgelistet sind. Die folgenden Transportketten werden bereitgestellt. Sie können in dieser Anzeige jedoch eigene Transportketten definieren.- InboundBasicMessaging
- Ein verbindungsorientiertes Protokoll, das eine TCP/IP-Standardverbindung (JFAP-TCP/IP) verwendet. Es unterstützt zweiphasige Transaktionsabläufe (fernes XA), damit ein Nachrichtenerzeuger bzw. -konsument, der auf einem Client- oder Serversystem ausgeführt wird, an einer globalen Transaktion teilnehmen kann, die auf diesem Client- bzw. Serversystem verwaltet wird. XA-Abläufe werden im Speziellen für die Unterstützung des Zugriffs von einer Anwendung, die in einem Server ausgeführt wird, auf eine Messaging-Engine in einem zweiten Server verwendet, wenn der erste Server keine geeignete Messaging-Engine besitzt. Wenn ferne XA-Abläufe verwendet werden, muss der Anwendung ein lokaler Transaktionskoordinator zur Verfügung stehen.
- InboundSecureMessaging
- Das in SSL eingebundene Protokoll InboundBasicMessaging.
- -providerEndPoints
- -connectionProximity
- Bus | Host | Cluster | Server
- -durableSubscriptionHome
- Name_der_Messaging-Engine
- -nonPersistentMapping
- BestEffortNonPersistent | ExpressNonPersistent | ReliableNonPersistent | ReliablePersistent | AssuredPersistent | AsSIBDestination | None
- -persistentMapping
- BestEffortNonPersistent | ExpressNonPersistent | ReliableNonPersistent | ReliablePersistent | AssuredPersistent | AsSIBDestination | None
- -readAhead
- Default | AlwaysOn | AlwaysOff
- -tempQueueNamePrefix
- Präfix
- -tempTopicNamePrefix
- Präfix
- -shareDurableSubscriptions
- AsCluster | AlwaysShared | NeverShared
- -producerDoesNotModifyPayloadAfterSet
- true | false (Standardeinstellung false)
- Anwendungen, die diese Verbindungsfactory verwenden, um Nachrichten zu senden, müssen die folgenden Regeln einhalten:
- Die Anwendung ändert das in einer JMS-Objektnachricht enthaltene Datenobjekt nicht.
- Die Anwendung schreibt eine JMS-Bytenachricht in einem einzigen Aufruf der Methode writeBytes(byte[]) und ändert die Bytefeldgruppe, nachdem diese in der Nachricht festgelegt wurde, nicht mehr.
- -consumerDoesNotModifyPayloadAfterGet
- true | false (Standardeinstellung false)
- Anwendungen, die diese Verbindungsfactory verwenden, um Nachrichten zu empfangen, müssen die folgende Regel einhalten: Die Anwendung ändert das aus einer JMS-Objektnachricht abgerufene Datenobjekt nicht. Das Datenobjekt wird als schreibgeschütztes Objekt behandelt.
- -authDataAlias
- Aliasname
- -shareDataSourceWithCMP
- True | False
- -xaRecoveryAuthAlias
- Aliasname
Beispiel
- Mit Jython:
wsadmin>AdminConfig.getid("/Node:9994GKCNode01" )
"9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)"
wsadmin>AdminTask.createSIBJMSConnectionFactory("9994GKCNode01(cells/ 9994GKCNode01Cell/nodes/9994GKCNode01|node.xml)", ["-name", "jmscf1", "-jndiName", "jms/jmscf1", "-busName", "abus"])
"jmscf1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733325084)"
wsadmin>AdminTask.createSIBJMSConnectionFactory("9994GKCNode01(cells/ 9994GKCNode01Cell/nodes/9994GKCNode01|node.xml)", ["-name", "jmsqcf2", "-jndiName", "jms/jmsqcf1", "-busName", "abus", "-type", "queue"])
"jmsqcf2(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733675578)"
- Mit Jacl:
wsadmin>$AdminConfig getid /Node:9994GKCNode01
9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
wsadmin>$AdminTask createSIBJMSConnectionFactory 9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) {-name jmscf1 -jndiName jms/jmscf1 -busName abus}
jmscf1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733325084)
wsadmin>$AdminTask createSIBJMSConnectionFactory 9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) {-name jmsqcf2 -jndiName jms/jmsqcf1 -busName abus -type queue}
jmsqcf2(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml# J2CConnectionFactory_1098733675578)