Verwenden Sie diesen Artikel, um eine Mediation zu erstellen, die eine bestimmte Weiterleitungsroute
für eine Nachricht wählt.
Vorbereitende Schritte
Eine Einführung in die Verwendung von Mediationen für den Service Integration Bus finden Sie im Artikel
Informationen zu Mediations.
Einzelheiten zum Installieren einer Mediation in WebSphere Application Server und zum Zuordnen dieser Mediation zu einem
Busziel finden Sie im Artikel Mit Mediationen arbeiten.
In diesem Artikel
wird vorausgesetzt, dass Sie mit der Verwendung einer Java EE-Entwicklungsumgebung (Java Platform,
Enterprise Edition)
für Session-Beans wie Assembliertools oder IBM® Rational Application Developer vertraut sind.
Informationen zu diesem Vorgang
Eine Routing-Mediation
ist eine Mediationsanwendung, die einen Routing-Handler enthält.
Sie ordnen eine Routing-Mediation dem Ziel eines Service Integration Bus zu und verwenden die Mediation
für die Auswahl einer bestimmten Route aus einem Bereichen gültiger Routen.
Wenn Sie beispielsweise einen neuen Service für abgehende Daten erstellen oder die Konfiguration eines vorhandenen Service für abgehende Daten ändern, können Sie eine Mediation für
Portauswahl anwenden, um einen bestimmten abgehenden Port aus einem Bereich verfügbarer Ports für den abgehenden Service auszuwählen.
Führen Sie zum Erstellen einer Routing-Mediation
in einer Entwicklungsumgebung für Java EE-Session-Beans die folgenden Schritte aus:
Vorgehensweise
- Erstellen Sie ein leeres Projekt für den Mediationshandler. Damit werden
das Projekt und die Handlerklasse erstellen, die die Handlerschnittstelle implementiert.
Ausführliche Anweisungen hierzu finden Sie im Artikel Mediationshandler schreiben.
- Definieren Sie im Mediationsteilfenster für den EJB-Deskriptor die Handlerklasse als Mediationshandler.
Anmerkung: Hierbei geben Sie den Namen für die Mediationshandlerliste an.
Notieren Sie den Namen, weil Sie ihn später benötigen, wenn Sie die Mediation im Bus erstellen.
- Fügen Sie dem Handler die Routing-Funktion hinzu. Lesen Sie jedoch zuerst
den Artikel Dem Handler-Code Mediationsfunktionen hinzufügen und
darin insbesondere den Abschnitt Mit Nachrichtenkontext arbeiten. Fügen Sie der Handlerklasse Importanweisungen und
der Handlermethode Ihren Routing-Code hinzu.
Geben Sie das Routing-Ziel an, indem Sie dieses Ziel am Anfang der Routing-Pfadliste hinzufügen.
Die Routing-Pfadliste ist im Nachrichtenkontext verfügbar.
Beispiel:
import javax.xml.rpc.handler.MessageContext;
import com.ibm.websphere.sib.mediation.handler.MediationHandler;
import com.ibm.websphere.sib.mediation.handler.MessageContextException;
import com.ibm.websphere.sib.mediation.messagecontext.SIMessageContext;
import com.ibm.websphere.sib.SIMessage;
import com.ibm.websphere.sib.SIDestinationAddress;
import com.ibm.websphere.sib.SIDestinationAddressFactory;
import java.util.List;
public class RouteMediationHandler implements MediationHandler {
public boolean handle(MessageContext ctx) throws MessageContextException {
SIMessageContext siCtx = (SIMessageContext) ctx;
SIMessage msg = siCtx.getSIMessage();
List frp = msg.getForwardRoutingPath();
try {
SIDestinationAddress destination =
SIDestinationAddressFactory
.getInstance()
.createSIDestinationAddress(
"RoutingDestination", //Der Name des geplanten Ziels
false);
frp.add(0, destination);
} catch (Exception e) {
return false;
}
msg.setForwardRoutingPath(frp);
return true;
}
}
Weitere Informationen zu den Klassen der Serviceintegrationstechnologien, einschließlich der Mediationshandler- und Nachrichtenkontextklassen finden Sie im Artikel
Generierte API-Dokumentation - Anwendungsprogrammierschnittstellen.
- Exportieren Sie die Unternehmensanwendung für die Routing-Mediation.
Nächste Schritte
Jetzt können Sie Ihre Mediation in
WebSphere Application Server installieren und sie einem
Busziel hinzufügen, wie im Artikel
Mit Mediationen arbeiten beschrieben wird.