Mit Nachrichteneigenschaften arbeiten

Sie können durch Bearbeitung der Nachrichteneigenschaften die nachfolgende Bearbeitung beeinflussen.

Vorbereitende Schritte

Lesen Sie vor dem Ausführen dieser Task die Informationen zu den Eigenschaften, die von der Schnittstelle "SIMessage" unterstützt werden, im Artikel Unterstützung von Nachrichteneigenschaften für Mediationen.

Informationen zu diesem Vorgang

Es gibt zwei Typen von Nachrichteneigenschaften:
  • Systemeigenschaften (einschließlich JMS-Headern, JMSX-Eigenschaften und JMS_IBM_properties)
  • Benutzereigenschaften

Durch die Bearbeitung der Nachrichteneigenschaften können Sie bestimmen, welche Nachrichten von einer späteren Mediation verarbeitet werden sollen, und wie Nachrichten durch eine nachgeordnete Anwendung oder Mediation verarbeitet werden sollen. Die Regel, die im Feld "Selektor" während der Konfiguration einer Mediation angegeben wird, testet die Werte in den Nachrichteneigenschaften.

Die Eigenschaften können mit der Schnittstelle "SIMessage", die im Artikel SIMessage beschrieben wird, aufgerufen, geändert und gelöscht werden. Es gibt drei Gruppen von Methoden:

  • Die folgenden Methoden arbeiten mit Systemeigenschaften und Benutzereigenschaften, wenn dem Namen das Präfix user. vorangestellt wird:
    • getMessageProperty
    • setMessageProperty
    • deleteMessageProperty
    • clearMessageProperties
  • Die folgenden Methoden arbeiten nur mit Benutzereigenschaften, die ohne das Präfix user. angegeben werden können:
    • getUserProperty
    • setUserProperty
    • deletUserProperty
    • clearUserProperties
  • getUserPropertyNames gibt eine Liste mit den Namen der Benutzereigenschaften in der Nachricht zurück.
In der Regel können Sie Nachrichteneigenschaften beim Programmieren einer Mediation wie folgt bearbeiten:

Vorgehensweise

  1. Suchen Sie die Stelle in Ihrem Mediationshandler, an der Sie den funktionierende Mediationscode in der Methode handle (MessageContext context) einfügen möchten. Die Schnittstelle ist "MessageContext". Setzen Sie diese Schnittstelle nur dann in einen SIMessageContext um, wenn Sie die vom MessageContext bereitgestellten Methoden verwenden möchten.
  2. Rufen Sie die SIMessage aus dem MessageContext-Objekt ab. Beispiel: SIMessage message = ((SIMessageContext)context).getSIMessage();
  3. Für das Erstellen der Mediationsheaderfunktion können Sie diese Beispiele und die Referenzinformationen im Artikel Unterstützung von Nachrichteneigenschaften für Mediationen verwenden:
    1. Rufen Sie eine Benutzereigenschaft der Nachricht ab. Beispiel: String task = (String)msg1.getUserProperty("task");. In diesem Fall kann die Zeichenfolge task auf eine Operation verweisen, die die Mediation ausführen soll.
    2. Setzen Sie eine Benutzereigenschaft (die Nachrichteneigenschaften werden als Name/Wert-Paare gespeichert). Die Methode "setUserProperty" kann nur verwendet werden, um Benutzereigenschaften zu setzen. Deshalb sollte der an die Methode übergebene Name nicht das Präfix "user." enthalten. Beispiel: msg1.setUserProperty("background","green");
    3. Löschen Sie eine Benutzereigenschaft aus der Nachricht. Beispiel: msg1.deleteUserProperty("task");

Beispiel

Das folgende Codefragment ist ein Beispiel für einen Mediationsfunktionscode für die Bearbeitung von Nachrichteneigenschaften:

    String task = (String)msg1.getUserProperty("task");
    if (task != null) {
      if (task.equals("addColor")) {
        msg1.setMessageProperty(SIProperties.JMS_IBM_Format, "colorful");
        msg1.setUserProperty("background","green");
        msg1.setUserProperty("foreground","purple");
        msg1.setUserProperty("depth",new Integer(3));
        msg1.deleteUserProperty("task");
      }
      else {
        msg1.clearUserProperties();
      }
    }     

Symbol, das den Typ des Artikels anzeigt. Taskartikel



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