Cette rubrique permet de créer une médiation qui choisit une route d'acheminement particulière
pour un message.
Avant de commencer
Pour une présentation de l'utilisation des médiations avec le bus
d'intégration de services, voir
Médiations. Pour plus de détail sur le mode d'installation d'une médiation dans WebSphere
Application Server
et son association à une destination de bus, voir Utilisation des médiations.
Cette rubrique suppose que vous savez utiliser un environnement de développement de beans de session Java Platform,
Enterprise Edition (Java EE), tel que outils d'assemblage ou IBM® Rational Application Developer.
Pourquoi et quand exécuter cette tâche
Une médiation de routage est une application de
médiation qui contient un gestionnaire de routage. Associez
une médiation de routage à une destination de bus d'intégration de
services et utilisez-la pour choisir une routage déterminé parmi
ceux disponibles. Par exemple,
lorsque vous créez une configuration de service sortant ou
modifiez une configuration de service sortant
existante, vous pouvez appliquer une médiation de sélection de port
pour choisir un port de communications sortantes particulier parmi les ports
disponibles pour le service sortant.
Pour créer une médiation de routage, utilisez un environnement de développement de bean session Java EE
(Java Platform,
Enterprise Edition) et procédez comme suit :
Procédure
- Créez un projet de gestionnaire de médiations vide. Le projet,
ainsi que la classe de gestionnaire qui implémente l'interface du gestionnaire sont
ainsi créés. Pour des instructions détaillées sur la manière de procéder,
voir Création du gestionnaire de médiations.
- A l'aide de la sous-fenêtre de médiation du descripteur d'EJB, définissez
la classe de gestionnaire comme gestionnaire de médiations.
Remarque : Lors de
cette opération, vous spécifiez le nom sous lequel la liste de gestionnaires de
médiations est connue. Notez ce nom pour référence ultérieure lorsque vous créerez la
médiation dans le bus.
- Ajoutez la fonction de routage au gestionnaire. Avant
de commencer, voir
Ajout
d'une fonction de médiation au code du gestionnaire, et
notamment la sous-rubrique
Utilisation
du contexte de message.
Ajoutez des
instructions d'importation à votre classe de gestionnaire et modifiez la méthode du
gestionnaire en ajoutant votre code de routage. Spécifiez la destination de routage en
l'ajoutant au début de la liste des chemins de routage de transmission. Cette liste est
disponible dans le contexte de message. Par
exemple :
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", //this is the name of the target destination
false);
frp.add(0, destination);
} catch (Exception e) {
return false;
}
msg.setForwardRoutingPath(frp);
return true;
}
}
Pour plus d'informations sur les classes des technologies
d'intégration de services, et notamment sur les classes du gestionnaire de
médiations et du contexte de message, voir la Documentation sur les API générées - Interfaces de
programmation d'applications.
- Exportez l'application d'entreprise de médiation de routage.
Que faire ensuite
Vous pouvez désormais installer votre médiation dans
WebSphere
Application Server et l'associer à une
destination de bus, comme décrit dans
Utilisation des médiations.