Befehl "modifySIBJMSActivationSpec"

Verwenden Sie den Befehl modifySIBJMSActivationSpec, um die Eigenschaften einer JMS-Aktivierungsspezifikation des Standard-Messaging-Providers für einen bestimmten Geltungsbereich zu ändern.

Verwenden Sie zum Ausführen des Befehls das Objekt AdminTask des Scripting-Clients wsadmin.

[IBM i][IBM i]Der Scripting-Client wsadmin wird über die Qshell ausgeführt. [IBM i]Weitere Informationen finden Sie unter Qshell für die Ausführung von WebSphere-Scripts mit wsadmin-Scripting konfigurieren.

Für die SIB-Befehle wird jeweils eine Befehlszeilenhilfe bereitgestellt:
  • 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')

Speichern Sie Ihre Änderungen nach der Ausführung des Befehls in der Masterkonfiguration. Verwenden Sie hierfür beispielsweise den folgenden Befehl:

AdminConfig.save()

Zweck

Dieser Befehl ändert die Eigenschaften einer JMS-Aktivierungsspezifikation.

Zielobjekt

Der Geltungsbereich des Standard-Messaging-Providers, für den die JMS-Aktivierungsspezifikation geändert wird.

Erforderliche Parameter

Ohne.

Optionale Parameter

-name
Der Verwaltungsname, der dieser Aktivierungsspezifikation zugeordnet wird.
-jndiName
Der JNDI-Name, der in den Bindungen für nachrichtengesteuerte Beans, die dieser Aktivierungsspezifikation zugeordnet sind, definiert ist.
-description
Eine optionale Beschreibung für die Aktivierungsspezifikation.
-destinationType
Verwenden Sie diesen Parameter, um festzulegen, ob die Message-driven Bean eine JMS-Warteschlange oder ein JMS-Topic verwenden soll. Wählen Sie einen der folgenden Werte aus:
Queue
Die MDB verwendet eine JMS-Warteschlange. Der JNDI-Name der JMS-Warteschlange wird mit der Eigenschaft JNDI-Name des Ziels angegeben.
Topic
Die MDB verwendet ein JMS-Topic. Der JNDI-Name des JMS-Topic wird mit der Eigenschaft JNDI-Name des Ziels angegeben.
-destinationJndiName
Der JNDI-Name der JMS-Zielwarteschlange bzw. des Zieltopics, die bzw. das von der nachrichtengesteuerten Bean (MDB, Message-driven Bean) verwendet wird.
-destinationLookup
Der JNDI-Name der JMS-Zielwarteschlange bzw. des Zieltopics, die bzw. das von der nachrichtengesteuerten Bean (MDB, Message-driven Bean) verwendet wird. Die Parameter JNDI-Name des Ziels und Lookup-Name des Ziels dienen beide dazu, den JNDI-Namen des Ziels in der Konfiguration zu speichern. Obwohl die beiden Felder nicht obligatorisch sind, müssen Sie sicherstellen, dass mindestens eines einen Wert enthält. Wenn die Parameter destinationLookup und destinationJndiName beide einen Wert enthalten, hat der Parameter destinationLookup Vorrang gegenüber destinationJndiName.
-connectionFactoryLookup
Der JNDI-Name für eine Verbindungsfactory-Suche.
-messageSelector
Zeichenfolge
-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.
-acknowledgeMode
Der Bestätigungsmodus gibt an, wie eine von einer MDB empfangene Nachricht bestätigt werden soll. Wählen Sie einen der folgenden Werte aus:
Automatische Bestätigung
Die Sitzung bestätigt automatisch die Zustellung einer Nachricht.
Duplikate OK, automatische Bestätigung
Die Sitzung bestätigt die Zustellung von Nachrichten mit Verzögerung, was zwar zu einer Leistungsverbesserung, aber auch dazu führen kann, dass eine MDB eine Nachricht mehrfach erhalten kann.
-target
-targetType
Der Typ des mit der Eigenschaft -target angegebenen Ziels. 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.
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
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.
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

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 Server -> Servertypen -> WebSphere-Anwendungsserver -> Servername -> [Server-Messaging] Eingehende Transporte für die Messaging-Engine 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.
Weitere Informationen zur Verwendung dieser Eigenschaft zusammen mit anderen Verbindungsfactory-Eigenschaften für das Workload-Management von Verbindungen finden Sie im Artikel "Verwaltungseigenschaften für JMS-Verbindungen zu einem Bus".
-providerEndPoints
Eine durch Kommas getrennte Liste mit Endpunkt-Triplets in der Syntax Hostname:Portnummer:Kettenname, die verwendet wird, um eine Verbindung zu einem Bootstrap-Server herzustellen, z. B. Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging.

Es werden nur dann Providerendpunkte verwendet, wenn der angegebene Bus in der lokalen Zelle nicht gefunden wird. MDB-Anwendungen versuchen zuerst, eine Verbindung zum angegebenen Bus in der lokalen Zelle herzustellen. Wenn dieser Versuch scheitert, werden Providerendpunkte verwendet, um den Anwendungen das Konsumieren von Nachrichten aus einer fernen Zelle zu ermöglichen.

Wenn der Hostname nicht angegeben ist, wird standardmäßig localhost verwendet.

Wenn die Portnummer nicht angegeben ist, wird standardmäßig 7276 verwendet.

Wenn das Protokoll nicht angegeben ist, wird standardmäßig eine vordefinierte Kette wie BootstrapBasicMessaging verwendet.

-authenticationAlias

Ein Java™ EE-JCA-Authentifizierungsalias gibt die Benutzer-ID und das Kennwort für die Authentifizierung der Erstellung einer neuen Verbindung zum JMS-Provider an.

-maxBatchSize
Diese Einstellung definiert die maximale Anzahl von Nachrichten in einem Stapel, die nacheinander an eine MDB-Instanz übermittelt werden. Durch die Verwendung von Nachrichtenstapeln kann die Leistung verbessert werden, insbesondere wenn die Eigenschaft Bestätigungsmodus den Wert Duplikate OK, automatische Bestätigung hat. Falls die Nachrichtenreihenfolge auch bei fehlgeschlagenen Zustellungen beibehalten werden soll, geben Sie als Wert für die Größe des Stapels auf 1.
-maxConcurrency

Eine Erhöhung dieses Wertes kann die Leistung verbessern, aber auch die Anzahl der parallel verwendeten Threads erhöhen. Wenn die Nachrichtenreichenfolge auch bei fehlgeschlagenen Übermittlungen beibehalten werden muss, setzen Sie die Einstellung für die maximale Anzahl paralleler Endpunkte auf 1. Die Nachrichtenreihenfolge gilt nur, wenn das Ziel, von dem die MDB konsumiert, kein partitioniertes Ziel ist. Partitionierte Ziele werden in einem Lastausgleichsszenario in einem Cluster verwendet.

-subscriptionDurability
Normalerweise kann jeweils nur eine Anwendung einen Konsumenten für eine bestimmte permanente Subskription haben. Mit dieser Eigenschaft können Sie dieses Verhalten außer Kraft setzen, wenn Sie möchten, dass eine permanente Subskription mehrere Konsumenten parallel haben darf. Wählen Sie einen der folgenden Werte aus:
Permanent
Der Messaging-Provider speichert die Nachrichten, während die MDB nicht verfügbar ist, und stellt die Nachrichten zu, sobald die MDB wieder verfügbar ist.
Nicht permanent
Der Messaging-Provider speichert die Nachrichten nicht und stellt sie auch nicht erneut zu, wenn eine MDB nicht verfügbar ist.
-subscriptionName

Jede permanente JMS-Subskription hat einen Subskriptionsnamen (der mit dieser Eigenschaft definiert wird). Eine JMS-Verbindung hat außerdem eine zugeordnete Client-ID (die mit der Eigenschaft Client-ID definiert wird), die verwendet wird, um eine Verbindung und die zugehörigen Objekte der Liste von Nachrichten (in der permanenten Subskription) zuzuordnen, die vom JMS-Provider für den Client verwaltet wird.

Der Subskriptionsname muss für jede Client-ID eindeutig sein.

-clientId

Der angegebene Wert ist eine eindeutige ID für einen Client (MDB). Die Client-ID wird verwendet, um eine Clientverbindung der Liste von Nachrichten (in einer permanenten Subskription) zuzuordnen, die der Messaging-Provider für den Client verwaltet. Sobald der Client nach einem Ausfall wieder verfügbar ist, verwendet der Messaging-Provider die Client-ID, um die gespeicherten Nachrichten erneut an den richtigen Client zu übermitteln.

-durableSubscriptionHome

Der Administrator kann den Laufzeitstatus permanenter Subskriptionen mit den Veröffentlichungspunkten für diese Messaging-Engine steuern.

-shareDurableSubscriptions

Normalerweise kann zu einer Zeit nur eine Sitzung einen TopicSubscriber für eine bestimmte permanente Subskription haben. Mit dieser Eigenschaft können Sie dieses Verhalten außer Kraft setzen, wenn Sie möchten, dass eine permanente Subskription mehrere Konsumenten, einen in jedem Anwendungsserver des Server-Cluster, parallel haben darf.

Wählen Sie einen der folgenden Werte aus:
Im Cluster
Lässt die gemeinsame Nutzung permanenter Subskriptionen zu, wenn Verbindungen innerhalb eines Server-Clusters hergestellt werden.
Immer freigeben
Permanente Subskriptionen können von mehreren Verbindungen gemeinsam genutzt werden.
Nie freigeben
Permanente Subskriptionen können nicht von mehreren Verbindungen gemeinsam genutzt werden.
-shareDataSourceWithCmp

True | False

Diese Option wird im Rahmen der Task verwendet, mit der Sie festlegen, dass CMP-Entity-Beans die Datenbankverbindungen nutzen, die der Datenspeicher einer Messaging-Engine verwendet. Mit dieser Option können Sie schätzungsweise eine Leistungsverbesserung von 15 % beim Gesamtnachrichtendurchsatz erzielen. Sie kann jedoch nur für Entity-Beans verwendet werden, die mit dem Anwendungsserver verbunden sind, der die Messaging-Engine enthält. Diese Option darf nicht für eine Messaging-Engine aktiviert werden, die den Dateispeicher als ihren Datenspeicher verwendet.

Weitere Informationen zur Verwendung dieser Option finden Sie im Artikel Unterstützung der gemeinsamen Nutzung von Datenbankverbindungen durch CMP-Entity-Beans und Datenspeicher von Messaging-Engines.

-readAhead

Nachrichten, die einem Konsumenten zugeordnet sind, werden auf dem Server gesperrt und können nicht von anderen Konsumenten für dieses Ziel konsumiert werden. Einem Konsumenten zugeordnete Nachrichten, die vor dem Schließen dieses Konsumenten nicht konsumiert werden, werden nachfolgend auf dem Server freigegeben und können dann von anderen Konsumenten empfangen werden.

Sie können diese Eigenschaft für einzelne JMS-Ziele überschreiben, indem Sie die Eigenschaft Vorauslesen für das JMS-Ziel festlegen.

Wählen Sie einen der folgenden Werte aus:
Aktiviert
Der Messaging-Provider ordnet die Nachrichten im Vorfeld Konsumenten zu. Damit wird die Bearbeitungszeit von Konsumentenanforderungen verkürzt.
Inaktiviert
Der Messaging-Provider ordnet die Nachrichten nicht im Vorfeld Konsumenten zu.
Default
Der Messaging-Provider ordnet die Nachrichten im Vorfeld Konsumenten in nicht permanenten und nicht freigegebenen permanenten Subskriptionen zu. Das Optimierungsverfahren "Vorauslesen" wird also nur aktiviert, wenn nur ein Konsument möglich ist.
Die Eigenschaften für die "Übergabe von Nachrichtennutzdaten nach Referenz":
-forwarderDoesNotModifyPayloadAfterSet
true | false (Standardeinstellung false)
Anwendungen, die Nachrichten, die ursprünglich über diese Aktivierungsspezifikation empfangen wurden, erneut senden, müssen die folgenden Regeln einhalten:
  • Die Anwendung kann das Datenobjekt in einer JMS-Objektnachricht ersetzen, sofern das Datenobjekt noch nicht in der Nachricht definiert wurde. Die Anwendung ändert und ersetzt aber das Datenobjekt nicht mehr, nachdem es in der Nachricht gesetzt wurde.
  • Die Anwendung kann die Bytefeldgruppe in einer JMS-Bytenachricht ersetzen, aber nur, wenn ein einziger Aufruf von writeBytes(byte[]) verwendet wird und sofern die Bytefeldgruppe noch nicht in der Nachricht definiert wurde. Nachdem die Bytefeldgruppe in der Nachricht definiert wurde, ändert oder ersetzt die Anwendung sie nicht mehr.
-consumerDoesNotModifyPayloadAfterGet
true | false (Standardeinstellung false)
Anwendungen, die diese Aktivierungsspezifikation 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.
Wenn große Objektnachrichten oder Bytenachrichten gesendet werden, können die Kosten für die Speicher- und Prozessornutzung, die durch das Serialisieren, Deserialisieren und Kopieren der Nachrichtennutzdaten entstehen, beträchtlich sein. Wenn Sie die Eigenschaften für die Übernahme von Nachrichtennutzdaten nach Referenz in einer Verbindungsfactory oder Aktivierungsspezifikation aktivieren, teilen Sie dem Standard-Messaging-Provider dadurch mit, die Spezifikation JMS 1.1 zu überschreiben und das Kopieren der Daten nach Möglichkeit einzuschränken oder zu umgehen.
Vorsicht:
Die Teile der JMS-Spezifikation, die von diesen Eigenschaften umgangen werden, werden definiert, um die Integrität der Nachrichtendaten zu gewährleisten. Alle JMS-Anwendungen, die diese Eigenschaften verwenden, müssen die Regeln, die im Artikel "Warum und wann JMS-Nachrichtennutzdaten nach Referenz übergeben werden" beschrieben sind, strikt einhalten, da die Datenintegrität ansonsten nicht gewährleistet werden kann.
-alwaysActivateAllMDBs
True | False

Diese Eigenschaft wird nur verwendet, wenn die MDB-Anwendung in einem Server ausgeführt wird, der Member des Zielbusses der Anwendung ist. Sie hat keine Auswirkung, wenn die MDB in einem Server ausgeführt wird, der kein Member des Zielbusses ist.

Falls die MDB-Anwendung in einem Server ausgeführt wird, der Member des Zielbusses ist, ist die MDB-Anwendung bei Aktivierung dieser Option in der Lage, Nachrichten zu verarbeiten, unabhängig davon, ob in dem Server auch eine aktive Messaging-Engine vorhanden ist. Falls diese Option nicht aktiviert wird, verarbeiten MDB-Anwendungen in Servern ohne lokale aktive Messaging-Engine keine Nachrichten.

Für MDB-Anwendungen, die eine Verbindung zu einem Busmember des Typs "Cluster" herstellen, können Sie diese Option verwenden, um die folgenden zusätzlichen Konfigurationen zu ermöglichen:
  • Alle Server im Cluster können Nachrichten von der MDB-Anwendung empfangen, um die vollständige Verarbeitungsleistung im Cluster zu nutzen.
  • Es kann nur jeweils ein Server Nachrichten von der MDB-Anwendung empfangen, sodass eine sequenzielle Verarbeitung der Nachrichten gewährleistet wird.
Wählen Sie diese Option aus, um allen Servern im Cluster den Empfang von Nachrichten von der MDB-Anwendung zu ermöglichen. Wenn nur jeweils ein Server Nachrichten von der MDB-Anwendung empfangen soll, müssen Sie diese Option abwählen und die Option Exklusiver Empfang für das Ziel auswählen.

Weitere Informationen finden Sie im Artikel So stellen nachrichtengesteuerte Beans eine Verbindung in einem Cluster her.

-retryInterval
-userName
Die Benutzeridentität für die Java-2-Connector-Sicherheit.
-password
Das Kennwort für die Java-2-Connector-Sicherheit.
-WAS_EndpointInitialState
Diese Eigenschaft bestimmt, ob der Endpunkt bei der Registrierung des Endpunkts aktiviert wird. Wenn Sie diese Eigenschaft auf "active" setzen, beginnt der Nachrichtenkonsum beim JMS-Ziel, sobald die Aktivierungsspezifikation verwendet wird, um eine Message-driven Bean mit dem Ziel zu verbinden.

Die gültigen Werte für diesen Parameter sind ACTIVE und INACTIVE.

Beispiel

  • Das folgende Beispiel zeigt eine Aktivierungsspezifikation, die mit Jython geändert wird:
    wsadmin>AdminTask.modifySIBJMSActivationSpec("myjmsas(cells/
    9994GKCNode01Cell/nodes/
    9994GKCNode01|resources.xml#J2CActivationSpec_1098726667851)", 
     ["-jndiName", "jms/jmsas4q1", 
     "-description", "JMS activation specification for myqueue1",
     "-destinationJndiName", "jms/myqueue1"])
    "myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivation Spec_1098726667851)"
  • Das folgende Beispiel zeigt eine Aktivierungsspezifikation, die mit Jacl geändert wird:
    wsadmin>$AdminTask modifySIBJMSActivationSpec 
    myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivationSpec_1098726667851)
    {-jndiName jms/jmsas4q1 -description "JMS activation specification 
    for myqueue1" -destinationJndiName jms/myqueue1}
    myjmsas(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    J2CActivation Spec_1098726667851)
  • Im folgenden Beispiel wird eine Aktivierungsspezifikation durch Aktivierung des optionalen Parameters "WAS_EndpointInitialState" mit Jython geändert:
    wsadmin>attrs = "[[name "WAS_EndpointInitialState"] [required "false"] [type "java.lang.String"] [value "ACTIVE"]]"
    wsadmin>AdminConfig.getid("/Node:myNode01")
    "myNode01(cells/myCell01/nodes/myNode01|node.xml#Node_1)"
    wsadmin>AdminTask.listSIBJMSActivationSpecs("myNode01(cells/myCell01/nodes/myNode01|node.xml#Node_1)")
    "newas(cells/myCell01/nodes/myNode01|resources.xml#J2CActivationSpec_1298546034140)"
    wsadmin>AdminConfig.create("J2EEResourceProperty", 
    "testas(cells/myCell01/nodes/myNode01|resources.xml#J2CActivationSpec_1298546034140)", attrs)
    "WAS_EndpointInitialState(cells/myCell01/nodes/myNode01|resources.xml#J2EEResourceProperty_1298546239332)"

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjn_jmsas_modify
Dateiname:rjn_jmsas_modify.html