Richtlinie: Design von nachrichtengesteuerten Beans
Diese Richtlinie erläutert das Design von nachrichtengesteuerten Beans für eine J2EE-Anwendung.
Beziehungen
Zugehörige Elemente
Hauptbeschreibung

Einführung

Diese Richtlinie konzentriert sich auf das Design von nachrichtengesteuerten Beans. Weitere Anleitungen zu nachrichtengesteuerten Beans, z. B. dazu, wie Sie diese festlegen und modellieren können, finden Sie unter Richtlinie: Nachrichtengesteuerte Beans. Allgemeine Anleitungen zu EJBs finden Sie unter Richtlinie: Enterprise JavaBeans (EJBs).

Beachten Sie Folgendes: Da nachrichtengesteuerte Beans indirekt über Nachrichten und nicht direkt über Schnittstellenoperationen aufgerufen werden, erfordert ihr Design das Ausarbeiten des Nachrichtenformats und das Beschreiben des Verhaltens als Antwort auf Nachrichten und nicht das Ausarbeiten von Schnittstellenoperationen.

Transaktionen

Eine Einschränkung bei der Verwendung von Messaging besteht darin, dass der Produzent einer Nachricht und der Konsument (die nachrichtengesteuerte Bean) nicht an derselben Transaktion mitwirken können. Der Produzent kann eine Transaktion verwenden, um die Nachricht in die Warteschlange zu stellen, und die nachrichtengesteuerte Bean kann eine separate Transaktion verwenden, um die Ergebnisse, die sich aus der Verarbeitung der Nachricht ergeben, festzuschreiben. Dies müssen jedoch immer separate Transaktionen sein.

Nachrichtengesteuerte Beans können Bean-gesteuerte oder containergesteuerte Transaktionen verwenden. Im allgemeinen sind containergesteuerte Transaktionen einfacher und sind daher die bevorzugte Lösung. Nähere Anleitungen hierzu finden Sie unter Richtlinie: Design von Enterprise JavaBeans (EJBs).

Reihenfolge der Nachrichten

Jede nachrichtengesteuerte Bean ist eine aktive Klasse, die mehrere Instanzen haben kann. Weil alle Instanzen einer nachrichtengesteuerten Bean gleichzeitig ausgeführt werden, kann die Verarbeitung einer Nachricht, die von einer Instanz empfangen wurde, abgeschlossen sein, bevor oder nachdem eine Nachricht von einer anderen Instanz verarbeitet wurde.

Dies bedeutet, dass die Nachrichten in einer anderen Reihenfolge konsumiert werden können als sie produziert wurden. Beim Design von nachrichtengesteuerten Beans muss diese Möglichkeit berücksichtigt werden.