Mit dem JMSInput-Knoten können Sie Nachrichten von JMS-Zieladressen empfangen. Der Zugriff auf JMS-Zieladressen erfolgt über eine Verbindung zu einem JMS-Provider.
Der JMSInput-Knoten agiert als JMS-Nachrichtenkonsument und kann alle sechs Nachrichtentypen empfangen, die in der Java Message Service Specification, Version 1.1 definiert sind. Nachrichten werden mithilfe von Methodenaufrufen empfangen, die in der JMS-Spezifikation beschrieben sind.
Der JMSInput-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. Sie können jeden der unterstützten Sendeknoten (einschließlich benutzerdefinierter Sendeknoten) in einen Nachrichtenfluss aufnehmen, der mit einem JMSInput-Knoten beginnt; es muss sich hierbei nicht um einen JMSOutput-Knoten handeln. Wenn Sie jedoch keinen JMSOutput-Knoten einschließen, müssen Sie den JMSMQTransform-Knoten einschließen, um die Nachricht in das Format umzuwandeln, das vom Sendeknoten erwartet wird.
Wenn Sie JMS-Nachrichten weitergeben und einen Nachrichtenfluss entsprechend erstellen, dass er einen untergeordneten Fluss verwendet, können Sie keinen Standardsendeknoten verwenden, sondern müssen eine Instanz des JMSInput-Knotens als ersten Knoten nehmen, um ein Eingangsterminal für den untergeordneten Fluss zu erstellen.
export MQSI_LIBPATH32=$MQSI_LIBPATH32:/usr/mqm/lib:/usr/mqm/java/lib
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.
Jede erfolgreich empfangene Nachricht wird vom JMSInput-Knoten an das Ausgangsterminal weitergeleitet. Schlägt die Weiterleitung fehl, wird die Nachricht erneut weitergeleitet. Falls der Schwellenwert für die Wiederholung an dem Punkt erreicht wird, an dem der Schwellenwert durch die Eigenschaft Rücksetzschwellenwert des Knotens definiert ist, wird die Nachricht an das Fehlerterminal weitergeleitet. Sie können das Fehlerterminal mit Knoten verbinden, um diese Bedingung zu handhaben.
Wenn eine Ausnahmebedingung im Fehlerpfad auftritt, wird der Pfad so lange wiederholt, bis die Anzahl der Versuche den Wert Rücksetzschwellenwert um das Zweifache übersteigt. Wenn dieser Grenzwert überschritten wird, wird die Nachricht an das Rücksetzziel übergeben.
Wenn Sie keine Knoten mit dem Fehlerterminal verbunden haben, wird die Nachricht in das Rücksetzziel geschrieben. Wurde kein Rücksetzziel angegeben, gibt der Knoten die Fehlernachricht BIP4669 aus und stoppt die Verarbeitung weiterer eingehender Nachrichten.
Wenn die Nachricht vom JMSInput-Knoten abgefangen wird, nachdem eine Ausnahmebedingung an einer anderen Stelle im Fluss generiert wurde, wird die Nachricht an das Catch-Terminal weitergeleitet. Wenn keine Knoten mit dem Catch-Terminal verbunden wurden, setzt der Knoten die Nachricht für eine erneute Zustellung so lange zurück, bis das Problem behoben ist oder der Rücksetzschwellenwert erreicht wird. Wird kein Rücksetzziel definiert, gibt der Knoten die Fehlernachricht BIP4669 aus und stoppt die Verarbeitung weiterer eingehender Nachrichten.
Wenn Sie einen JMSInput-Knoten in einen Nachrichtenfluss einschließen, definiert der Wert, den Sie für den Transaktionsmodus festgelegt haben, ob die Nachrichten unter der Synchronisationspunktsteuerung empfangen 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 gilt:
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 Warteschlangenmanager sowohl für den Broker als auch für den JMS-Provider verwenden zu können, muss sichergestellt werden, dass die WebSphere MQ-Installation mindestens auf folgendem Stand ist: Version 5.3 CSD12 oder Version 6.0 Fixpack 1.
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: WebSphere MQ Version 6.0 Fixpack 1 oder höher ist erforderlich für XA, damit der gleiche WS-Manager für den Broker und den Provider verwendet wird.
Die Synchronisationspunktsteuerung für den JMS-Provider wird mit der RRS-Synchronisationspunkt-Koordination des WS-Manager des Brokers verwaltet. Die Datei .ini muss nicht geändert werden.
Nachdem Sie eine Instanz des JMSInput-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 |
---|---|
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 abgerufen wird. |
Catch-Terminal | Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn eine Ausnahmebedingung generiert und von diesem Knoten abgefangen wird. |
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 einzusetzen).
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Knotenname | Nein | Nein | Knotentyp JMSInput | 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 | Der Ausgangspunkt für einen JNDI-Namespace.
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. Mit diesem Wert wird die dateibasierte Ausgangskontext-Factory 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. |
Wo die JNDI-Bindungen liegen | Ja | Ja | Der Systempfad oder die LDAP-Position für die Bindungsdatei. Die Bindungsdatei enthält Definitionen für die verwalteten JNDI-Objekte, die vom JMSInput-Knoten verwendet werden. Wenn Sie einen Wert für Wo die JNDI-Bindungen liegen eingeben, sind dabei folgende Anweisungen einzuhalten:
Informationen zum Erstellen der Bindungsdatei für verwaltete JNDI-Objekte finden Sie in der Dokumentation des JMS-Providers. |
|
Verbindungsfactory-Name | Ja | Ja | Der Name der Verbindungsfactory, der vom JMSInput-Knoten für die Erstellung einer Verbindung zum JMS-Provider verwendet wird. Dieser Name muss in der Bindungsdatei bereits vorhanden sein. | |
Rücksetzziel | Nein | Ja | Wenn der Nachrichtenfluss aufgrund von Fehlern die Nachricht nicht verarbeiten kann, werden Eingabenachrichten vom JMSInput-Knoten an diese Zieladresse gesendet, und die Nachricht muss aus dem Eingabeziel entfernt werden. Der Name des Rücksetzungsziels muss in der Bindungsdatei enthalten sein. | |
Rücksetzschwellenwert | Nein | Ja | 0 | Der Wert, über den gesteuert wird, wann eine erneut zugestellte Nachricht in das Rücksetzziel gestellt wird. Wenn der Wert beispielsweise 3 lautet, versucht der JMS-Provider drei Mal, die Nachricht an die Eingabezieladresse zuzustellen. Nach dem dritten Zustellungsversuch wird die Nachricht aus der Eingabezieladresse entfernt und an das Rücksetzziel gesendet. |
Eigenschaft | O | K | Standardwert | Beschreibung |
---|---|---|---|---|
Transaktionsmodus | Ja | Nein | Keine | Durch diese Eigenschaft wird gesteuert, ob die eingehende Nachricht unter
externer Synchronisationspunktsteuerung, lokaler Synchronisationspunktsteuerung oder außerhalb
eines Synchronisationspunktes empfangen wird.
|