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
- 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.
- 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.
- 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.
- 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.
- 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.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tmb_desap
Dateiname:tmb_desap.html