Développement de beans gérés par message

Vous pouvez développer une classe d'implémentation de bean pour un bean géré par message conformément à la spécification Enterprise JavaBeans. Un bean géré par message est un consommateur de message qui implémente une logique métier et s'exécute sur le serveur.

Avant de commencer

Déterminez le modèle de messagerie de votre choix pour votre application pour l'utilisation des rubriques, des files d'attente, des fournisseurs et des consommateurs, de la publication ou de l'abonnement, etc. Vous pouvez vous reporter au contrat du composant de bean géré par message décrit dans Enterprise JavaBeans™ 3.0.2.

Pourquoi et quand exécuter cette tâche

Un bean géré par message est un consommateur de messages d'un fournisseur Java™ Message Service (JMS). Il est appelé à l'arrivée d'un message à la destination ou au point final qu'il traite. Les instances de bean géré par message sont anonymes ; par conséquent, elles sont toutes équivalentes lorsqu'elles ne traitent pas activement un message client. Le conteneur contrôle le cycle de vie des instances de bean dont l'état n'est pas visible par le client.

L'exemple suivant est un bean géré par message de base :

@MessageDriven(activationConfig={
                @ActivationConfigProperty(propertyName="destination",     propertyValue="myDestination"),
                @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
})
public class MsgBean implements javax.jms.MessageListener {

  public void onMessage(javax.jms.Message msg) {

      String receivedMsg = ((TextMessage) msg).getText();
      System.out.println("Received message: " + receivedMsg);

   }

}
Comme pour les autres types de bean enterprise, vous pouvez déclarer les métadonnées de vos beans gérés par message dans le descripteur de déploiement plutôt qu'en utilisant des annotations. Par exemple :
<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar id="EJBJar_1060639024453" version="3.0"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
      metadata-complete="false">
  <enterprise-beans>

    <message-driven>

      <ejb-name>MsgBean</ejb-name>
      <ejb-class>com.acme.ejb.MsgBean</ejb-class>
      <activation-config>
         <activation-config-property>
            <activation-config-property-name>destination</activation-config-property-name>
            <activation-config-property-value>myDestination</activation-config-property-value>
         </activation-config-property>
         <activation-config-property>
           <activation-config-property-name>destinationType</activation-config-property-name>
           <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
        </activation-config-property>
      </activation-config>

    </message-driven>

  </enterprise-beans>
</ejb-jar>
Remarque : Dans WebSphere Application Server version 9, la propriété destinationLookup peut être utilisée au lieu de la propriété de configuration d'activation destination. Les deux propriétés de configuration d'activation ont la même finalité qui consiste à définir le nom JNDI de destination pour les beans gérés par message. Toutefois, lorsque les deux propriétés d'activation sont définies dans la configuration, la propriété destinationLookup est prioritaire sur la propriété destination.

Procédure

Résultats

Vous avez développé un bean géré par message simple avec des options de déploiement et de conditionnement.

Que faire ensuite

Lisez les informations connexes sur la conception d'une application d'entreprise utilisant des beans gérés par message.

Icône indiquant le type de rubrique Rubrique de tâche



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_mdb
Nom du fichier : tejb_mdb.html