Mit dem JMSOutput-Knoten werden Nachrichten an JMS-Zieladressen gesendet.
Dieses Thema enthält folgende Abschnitte:
Der JMSOutput-Knoten agiert als JMS-Nachrichtenproduzent und kann alle sechs Nachrichtentypen veröffentlichen, die in der Java Message Service Specification, Version 1.1 definiert sind. Nachrichten werden mithilfe von Methodenaufrufen veröffentlicht, die in der JMS-Spezifikation beschrieben sind.
Der JMSOutput-Knoten befindet sich im Ablagefach JMS der Palette und wird in der Workbench durch folgendes Symbol dargestellt:
Nachrichtenflüsse, die Nachrichten handhaben, die von Verbindungen mit JMS-Providern empfangen werden, müssen immer mit einem JMSInput-Knoten beginnen. Wenn Sie den JMSOutput-Knoten in einen Nachrichtenfluss aufnehmen, müssen Sie keinen JMSInput-Knoten einschließen. Wenn Sie jedoch keinen JMSInput-Knoten aufnehmen, müssen Sie den MQJMSTransform-Knoten einschließen, um die Nachricht in das Format umzuwandeln, das vom JMSOutput-Knoten erwartet wird.
Wenn Sie JMS-Nachrichten weitergeben und einen Nachrichtenfluss so erstellen, dass er einen untergeordneten Nachrichtenfluss verwendet, setzen Sie eine Instanz des JMSOutput-Knotens als letzten Knoten ein, um ein Ausgangsterminal für den untergeordneten Nachrichtenfluss zu erstellen.
SET OutputRoot.JMSTransport.Transport_Folders.Message_MetaData.PayloadType=Nutzlastwert
Weitere Informationen zur JMS-Nachrichtenbaumstruktur und zu Nutzlastwerten finden Sie im Abschnitt Darstellung von Nachricht über das JMS-Transportprotokoll.
Konfigurierbare Services sind für eine Reihe von JMS-Providern definiert. Sie können einen der vordefinierten Services auswählen oder einen neuen Service für einen neuen Provider oder einen vorhandenen Provider erstellen.
mqsireportproperties Brokername -c AllTypes -o AllReportableEntityNames -r
Mit dem Befehl mqsireportproperties können Sie die Providereigenschaften anzeigen. Mit dem Befehl mqsichangeproperties können Sie die Eigenschaften festlegen oder modifizieren.
Der Sender einer Nachricht erwartet möglicherweise eine Antwort vom Empfänger der Nachricht. In diesem Fall kann die JMSOutput-Nachricht die ausgehende Nachricht als Antwort behandeln und gemäß dem Wert, der aus der Eigenschaft 'JMSReplyTo' aus der Anforderungsnachricht abgerufen wird, weiterleiten. Sie können den Wert der Eigenschaft JMSReplyTo in MbMessage z. B. mithilfe eines Compute-Knotens oder eines JavaCompute-Knotens ändern. Dies ermöglicht das dynamische Routing von Nachrichten vom JMSOutput-Knoten aus. Der Knoten sendet die Nachricht an den JMS-Bestimmungsnamen, der im Feld 'JMSReplyTo' der MbMessage-Baumstruktur festgelegt wurde.
queue://QM_mn2/meineJMSWarteschlange4In diesem Fall handelt es sich bei dem Wert um die JMS-Provider-spezifische Darstellung der JMS-Zieladresse beim JMS-Provider für die WebSphere MQ-Serie.
jndi:\\jmsQ4Dabei steht jmsQ4 für den Namen des JNDI-verwalteten Objekts.
Bei Verwendung dieser Methode können leichte Leistungseinbußen auftreten, weil der Name des verwalteten Objekts erst in JNDI nachgeschlagen werden muss.
Wenn der JMSOutput-Knoten die Eigenschaft 'JMSReplyTo' in der ausgehenden Nachricht dynamisch festlegen soll, lassen Sie das Feld Zieladresse für Antworten auf der Registerkarte Grundeinstellungen leer, und legen Sie den Wert für 'JMSReplyTo' in MbMessage mithilfe eines Compute-Knotens oder eines JavaCompute-Knotens fest.
Der Knoten löst den Namen des JNDI-verwalteten Objekts auf, der entweder im Veröffentlichungsthema oder in der Zielwarteschlange bereitgestellt wurde, und sendet die Nachricht an diese JMS-Zieladresse.
Wenn Sie einen JMSOutput-Knoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter Synchronisationspunktsteuerung gesendet werden.
Installationsverzeichnis/bin/ JMSSwitch.dll XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREAD
Installationsverzeichnis/bin/ JMSSwitch.dll XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREAD
XAResourceManager: Name=Name_des_JMS-Providers SwitchFile=/Installationsverzeichnis/bin/ JMSSwitch.so XAOpenString=Ausgangskontext, JNDI-Position, Optionale Parameter ThreadOfControl=THREADDabei ist
Die optionalen Parameter werden durch Kommas getrennt und sind positionsgebunden. Aus diesem Grund müssen fehlende Parameter durch ein Komma dargestellt werden.
Installationsverzeichnis/classes/xarecovery.jar
Installationsverzeichnis/bin
Weitere Informationen finden Sie im Bereich System Administration Guide des WebSphere MQ Version 6 Information Center online oder im Version 5.3-Handbuch auf der Webseite der Bibliothek zu WebSphere MQ.
Um denselben WS-Manager sowohl für den Broker als auch den JMS-Provider zu verwenden, müssen Sie sicherstellen, dass Ihre WebSphere MQ-Installation mindestens auf folgendem Stand ist: Version 5.3 CSD12.
Die Synchronisationspunktsteuerung für den JMS-Provider wird mit der RRS-Synchronisationspunkt-Koordination des Broker-WS-Managers verwaltet. Die Datei .ini muss nicht geändert werden.
Verbinden Sie das Eingangsterminal des JMSOutput-Knotens mit dem Knoten, von dem ausgehende Nachrichten weitergeleitet werden.
Verbinden Sie das Ausgangsterminal des JMSOutput-Knotens mit einem anderen Knoten im Nachrichtenfluss, um die Nachricht weiterzuverarbeiten, Fehler zu verarbeiten oder die Nachricht an eine weitere Zieladresse zu senden.
Nachdem Sie eine Instanz des JMSOutput-Knotens in einen Nachrichtenfluss eingereiht haben, können Sie ihn konfigurieren; siehe Nachrichtenflussknoten konfigurieren. Die Knoteneigenschaften werden in der Eigenschaftenansicht angezeigt. Klicken Sie zum Anzeigen der Knoteneigenschaften im Eigenschaftendialog entweder doppelt auf den Knoten, oder klicken Sie mit der rechten Maustaste und anschließend auf Eigenschaften. Alle verbindlichen Eigenschaften, für die kein Standardwert definiert ist, sind mit einem Stern markiert.
Terminal | Beschreibung |
---|---|
Eingangsterminal | Das Eingangsterminal, das eine Nachricht zur Verarbeitung durch einen Knoten annimmt |
Fehlerterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn ein Fehler auftritt. Selbst wenn die Eigenschaft 'Auswerten' festgelegt wird, werden Nachrichten, die an dieses Terminal weitergegeben werden, nicht ausgewertet. |
Ausgabeterminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn sie erfolgreich von der WebSphere MQ-Warteschlange abgerufen wird. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht geleitet wird, wenn nachgeschaltet eine Ausnahmebedingung ausgegeben und von diesem Knoten abgefangen wurde. |
In den folgenden Tabellen werden die Knoteneigenschaften beschrieben. Die Spalte O zeigt an, ob die Eigenschaft 'obligatorisch' ist (markiert mit einem Sternchen, wenn ein Wert eingegeben werden muss, weil kein Standardwert definiert ist). Die Spalte K zeigt an, ob die Eigenschaft 'konfigurierbar' ist (Wert kann geändert werden, wenn der Nachrichtenfluss zur BAR-Datei hinzugefügt wird, um ihn zu implementieren).
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp, z. B. JMSOutput | Der Name des Knotens. |
Kurzbeschreibung | Nein | Nein | Kurze Beschreibung des Knotens | |
Ausführliche Beschreibung | Nein | Nein | Text, der den Zweck des Knotens im Nachrichtenfluss beschreibt |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Ausgangskontext-Factory | Ja | Ja | com.sun.jndi.fscontext. RefFSContextFactory | Diese Eigenschaft gibt dem Ausgangspunkt für einen JNDI-Namespace an. Eine JMS-Anwendung verwendet den Ausgangskontext, um die Verbindungsfactory sowie Warteschlangen
oder Themenobjekte für den JMS-Provider abzurufen und zu suchen. Geben Sie einen Wert für die Ausgangskontext-Factory ein. Eine JMS-Anwendung verwendet den Ausgangskontext, um die verwalteten JNDI-Attribute für den JMS-Provider abzurufen und zu suchen. Der Standardwert lautet com.sun.jndi.fscontext.RefFSContextFactory; damit wird die dateibasierte Ausgangskontextfactory für den JMS-Provider von WebSphere MQ definiert. Informationen zum Namen der Ausgangskontext-Factory für den JMS-Provider finden Sie in der Dokumentation des JMS-Providers. |
Position der JNDI-Bindungen | Nein | Ja | Der Systempfad oder die LDAP-Position für die Bindungsdatei. Die Bindungsdatei enthält Definitionen für die verwalteten JNDI-Objekte, die vom JMSOutput-Knoten verwendet werden. Wenn Sie einen Wert für 'Position der JNDI-Bindungen'
eingeben, müssen Sie dabei folgende Anweisungen einhalten:
Informationen zum Erstellen der JMS-Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der mit dem JMS-Provider zur Verfügung gestellten Dokumentation. |
|
Name der Verbindungsfactory | Nein | Ja | Der Name der Verbindungsfactory, der vom JMSOutput-Knoten für die Erstellung einer Verbindung zum JMS-Provider verwendet wird. Dieser Name muss in der Bindungsdatei bereits vorhanden sein. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Neue Korrelations-ID | Nein | Ja | Wählen Sie Neue Korrelations-ID aus, wenn der JMSOutput-Knoten benötigt wird, um eine neue Korrelations-ID für die Nachricht zu generieren. Wenn Sie das Kontrollkästchen nicht aktivieren, wird die Korrelations-ID der Ausgabenachricht aus dem Feld 'JMSCorrelationID' im Abschnitt 'JMSTransport_Header_Values' der Nachrichtenbaumstruktur übernommen. | |
Transaktionsmodus | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob die eingehende Nachricht unter
Synchronisationspunktsteuerung empfangen wird.
|
Zustellmodus | Nein | Ja | Nicht permanent | Durch diese Eigenschaft wird der Permanenzmodus gesteuert, den ein
JMS-Provider für eine Nachricht verwendet. Gültige Werte sind:
|
Verfall der Nachricht (ms) | Nein | Ja | 0 | Diese Eigenschaft gibt (in Millisekunden) die Zeitdauer an, für die der JMS-Provider die JMS-Ausgabenachricht aufbewahrt. Mit dem Standardwert 0 wird angegeben, dass die Nachricht nicht ablaufen darf. |
Nachrichtenpriorität | Nein | Ja | 4 | Diese Eigenschaft weist der Nachricht eine relative Bedeutung zu und kann von
einer empfangenden JMS-Clientanwendung oder einem
JMSOutput-Knoten zur Nachrichtenauswahl verwendet
werden. Die gültigen Werte für die Nachrichtenpriorität liegen zwischen 0 (niedrigste Priorität) und 9 (höchste Priorität). Der Standardwert lautet 4, was eine mittlere Priorität bedeutet. Die Prioritäten im Bereich 0 bis 4 sind einer normalen Zustellung zugeordnet. Die Prioritäten im Bereich 5 bis 9 sind Abstufungen einer Eilzustellung zugeordnet. |