Message-driven Bean entwickeln

Sie können eine Bean-Implementierungsklasse für eine Message-driven Bean gemäß EJB-Spezifikation (Enterprise JavaBeans) entwickeln. Eine Message-driven Bean (MDB) ist ein Nachrichtenkonsument, der Geschäftslogik implementiert und im Server ausgeführt wird.

Vorbereitende Schritte

Bestimmen Sie das Messaging-Modell, das Ihre Anwendung für Topics, Warteschlangen, Erzeuger und Konsumenten, Publish/Subscribe usw. verwenden möchten. Referenzinformationen finden Sie im MDB-Komponentenvertrag, der in der EJB-Spezifikation beschrieben ist.

Informationen zu diesem Vorgang

Eine Message-driven Bean (MDB) ist ein Konsument von Nachrichten eines JMS-Providers (Java™ Message Service). Eine MDB wird bei Ankunft einer Nachricht am Ziel oder am Endpunkt aufgerufen, die bzw. der von der MDB bedient wird. MDB-Instanzen sind anonym, und deshalb sind alle Instanzen äquivalent, wenn nicht aktiv eine Clientnachricht verarbeitet wird. Der Container steuert den Lebenszyklus von Bean-Instanzen, die keinen Status haben, der für einen Client sichtbar ist.

Das folgende Beispiel zeigt eine Basis-MDB:

@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);

   }

}
Wie bei anderen Enterprise-Bean-Typen können Sie Metadaten für Message-driven Beans im Implementierungsdeskriptor deklarieren, anstatt Annotationen zu verwenden, z. B.:
<?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> 
Anmerkung: In WebSphere Application Server Version 9 kann die Eigenschaft destinationLookup auch anstelle der Eigenschaft destination für die Aktivierungskonfiguration verwendet werden. Beide Eigenschaften für die Aktivierungskonfiguration dienen dem Zweck, den JNDI-Namen des Ziels für MDBs anzugeben. Sind jedoch beide Aktivierungseigenschaften in der Konfiguration definiert, hat destinationLookup Vorrang vor destination.

Vorgehensweise

Ergebnisse

Sie haben eine einfache Message-driven Bean zusammen mit verschiedenen Implementierungs- und Paketoptionen entwickelt.

Nächste Schritte

Sehen Sie sich die zugehörigen Informationen zum Entwerfen einer Unternehmensanwendung an, die Message-driven Beans verwendet.

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=tejb_mdb
Dateiname:tejb_mdb.html