Unternehmensanwendungen für die Verwendung von ActivitySessions entwickeln
Dieser Artikel enthält eine Übersicht über die übergeordneten Tasks für die Verwendung von ActivitySessions in Unternehmensanwendungen.
Informationen zu diesem Vorgang
Beachten Sie vor der Verwendung von ActivitySessions in Unternehmensanwendungen die folgenden Punkte:
Die folgenden übergeordneten Tasks veranschaulichen, wie eine ActivitySession in einer Unternehmensanwendung verwendet wird:- Eine Anwendung, auf die unter einem ActivitySession-Kontext zugegriffen wird, kann die Ausnahme "javax.transaction.InvalidTransactionException RemoteException" empfangen, die vom EJB-Container zurückgegeben wird, wenn dieser eine Anwendungsmethode bedient. Die Ausnahme tritt auf, wenn für eine Instanz einer Enterprise-Bean, die über eine ActivitySession-gestützte Aktivierungsrichtlinie verfügt, gleichzeitig globale und lokale Transaktionen ausgeführt werden.
- Damit eine Enterprise-Bean in einem ActivitySession-Kontext teilnehmen und ActivitySession-gestützte Operationen unterstützen kann, muss die Aktivierungsrichtlinie (ActivationPolicy) mit dem Wert ACTIVITY_SESSION konfiguriert sein. Eine Bean, die mit der ActivationPolicy TRANSACTION oder ONCE konfiguriert ist, kann nicht im ActivitySession-Kontext teilnehmen.
- Eine Session-Bean kann entweder containergesteuerte ActivitySessions verwenden oder Bean-gesteuerte ActivitySessions implementieren. Entity-Bean können nur containergesteuerte ActivitySessions verwenden. Eine Bean wird im Hinblick auf die AcitivitySession-Verwaltung als Bean-gesteuert oder als containergesteuert festgelegt, indem das entsprechende Implementierungsattribut für den Transaktionstyp bei der Implementierung der Enterprise-Bean auf "Bean-gesteuert" oder "Containergesteuert" gesetzt wird. Eine Bean, die Bean-gesteuerte Transaktionen verwendet, kann Bean-gesteuerte ActivitySessions verwenden. Eine Bean, die containergesteuerte Transaktionen verwendet, kann containergesteuerte ActivitySessions verwenden.
- Soll eine Session-Bean oder ein Unternehmensanwendungsclient die ActivitySessions selbst verwalten, müssen Sie den Code erstellen, der die Grenzen einer ActivitySession explizit demarkiert; siehe dazu die Beschreibung im Abschnitt Enterprise-Bean oder J2EE-Client zur Verwaltung von ActivitySessions entwickeln.