Unternehmensanwendung für die Verwendung von MDBs entwerfen

Gehen Sie beim Entwurf Ihrer Unternehmensanwendung von einer generischen Unternehmensanwendung aus, die mit einer MDB Nachrichten von einer JMS-Zieladresse für Warteschlangen abruft und an eine andere Enterprise-Bean übergibt, die die Geschäftslogik implementiert.

Informationen zu diesem Vorgang

Führen Sie die folgenden Schritte aus, um eine Unternehmensanwendung zu entwerfen, die MDBs verwendet:

Vorgehensweise

  1. Geben Sie die Nachrichtenlistenerschnittstelle für den Nachrichtentyp an, den die MDBs verarbeiten. Die MDB-Klasse muss diese Schnittstelle implementieren. Eine EJB-MDB-Klasse, die für JMS-Messaging verwendet wird, muss beispielsweise die Schnittstelle "javax.jms.MessageListener" implementieren.
  2. Stellen Sie fest, welche Ressourcen die Anwendung verwenden soll. Dieser Schritt hilft Ihnen, die Eigenschaften der Ressourcen zu bestimmen, die innerhalb der Anwendung genutzt und als Implementierungsdeskriptoren der Anwendung oder innerhalb von WebSphere Application Server konfiguriert werden müssen.
    Tabelle 1. JMS-Ressourcentypen und Beispiele für Eigenschaften. In der ersten Spalte dieser Tabelle sind die JMS-Ressourcentypen und in der zweiten Spalte Beispiele für die Eigenschaften jedes der JMS-Ressourcentypen aufgelistet.
    JMS-Ressourcentyp Eigenschaften (Beispiel)
    JMS-Verbindungsfactory
    Name: SamplePtoPQueueConnectionFactory
    JNDI-Name: Sample/JMS/QCF
    JMS-Ziel
    Name: Q1
    JNDI-Name: Sample/JMS/Q1
    Eigenschaften der J2C-Aktivierungsspezifikation
    Name: MyMDBsActivationSpec
    JNDI-Name: eis/MyMDBsActivationSpec
    JNDI-Name des Ziels: MyQueue
    Zieltyp: javax.jms.Queue
    MDB (Implementierungseigenschaften)
    Name: JMSppSampleMDBBean 
    Transaktionstyp: Container
    Nachrichtenselektor: JMSType='car'
    Bestätigungsmodus: Dups OK Acknowledge
    Zieltyp: javax.jms.Queue
    JNDI-Name der Aktivierungsspezifikation: MyMDBsActivationSpec
    Geschäftslogik-Bean
    Name: MyLogicBean

    Achten Sie darauf, konsistente Werte zu verwenden, wo diese erforderlich sind. Der JNDI-Name für die J2C-Aktivierungsspezifikation muss beispielsweise in der Aktivierungsspezifikation und in den Implementierungsattributen der MDB identisch sein.

  3. Sondern Sie die Geschäftslogik ab. Sie sollten eine MDB entwickeln, die die Geschäftsverarbeitung eingehender Nachrichten an eine andere Enterprise-Bean delegiert. Auf diese Weise erreichen Sie eine klare Trennung von Nachrichtenverarbeitung und Geschäftsverarbeitung. Außerdem kann der Geschäftsprozess so vom Ankunftsort der ankommenden Nachrichten oder z. B. von einem WebSphere-J2EE-Client aufgerufen werden.
  4. Legen Sie fest, ob die Sicherheit konfiguriert werden soll. An einer Zieladresse ankommenden Nachrichten, die von einer Listenerfunktion verarbeitet werden, ist kein Clientberechtigungsnachweis zugeordnet. Die Nachrichten sind anonym. Die Sicherheit hängt von der Rolle ab, die in der RunAs-ID für die MDB als EJB-Komponente angegeben wurde. Weitere Informationen zur EJB-Sicherheit finden Sie im Artikel Sicherheit von EJB-Komponenten.
  5. Machen Sie sich damit vertraut, wie Nachrichten vom Typ "Bestmöglich, nicht persistent" vom Standard-Messaging-Providers gehandhabt werden.
    Wenn Sie eine nicht transaktionsorientierte Message-driven Bean (MDB) haben, löscht das System die Nachricht beim Start oder bei Beendigung der Message-driven Bean. Wenn die Message-driven Bean eine Ausnahme generiert und deshalb nicht beendet wird, führt das System eine der folgenden Aktionen aus:
    • Wenn das System so konfiguriert ist, dass die Nachricht bei Beendigung der Message-driven Bean gelöscht wird, wird die Nachricht einer neuen Instanz der Message-driven Bean zugestellt, sodass es eine neue Gelegenheit zur Verarbeitung der Nachricht gibt.
    • Wenn das System so konfiguriert ist, dass die Nachricht beim Start der Message-driven Bean gelöscht wird, geht die Nachricht verloren.

    Die Nachricht wird beim Start der Message-driven Bean gelöscht, wenn die Servicequalität auf Bestmöglich, nicht persistent gesetzt ist. Bei allen anderen Servicequalitäten wird die Nachricht bei Beendigung der Message-driven Bean gelöscht.


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