Zugriff auf die lokale Session-Bean

Eine Anwendung greift auf die entsprechende lokale Session-Bean über die Home-Schnittstelle der Bean zu.

Anlass und Zeitpunkt für die Ausführung dieser Task

Die Session-Bean kann die LocalBusinessFlowManager-Session-Bean für Prozessanwendungen oder die LocalHumanTaskManager-Session-Bean für Benutzertaskanwendungen sein.

Erforderliche Schritte für diese Task

  1. Fügen Sie einen Verweis auf die lokale Session-Bean zum Deskriptor für die Anwendungsimplementierung hinzu. Fügen Sie den Verweis einer der folgenden Dateien hinzu:
    • Der Datei application-client.xml für eine J2EE-Clientanwendung (Java 2 Platform, Enterprise Edition)
    • Der Datei web.xml für eine Webanwendung
    • Der Datei ejb-jar.xml für eine EJB-Anwendung (EJB = Enterprise JavaBeans)
    Im folgenden Beispiel wird der Verweis auf die lokale Home-Schnittstelle für Prozessanwendungen gezeigt:
    <ejb-local-ref>
    	<ejb-ref-name>ejb/LocalBusinessFlowManagerHome</ejb-ref-name>
    	<ejb-ref-type>Session</ejb-ref-type>
    	<local-home>com.ibm.bpe.api.LocalBusinessFlowManagerHome</local-home>
    	<local>com.ibm.bpe.api.LocalBusinessFlowManager</local>
    </ejb-local-ref>
    Im folgenden Beispiel wird der Verweis auf die lokale Home-Schnittstelle für Taskanwendungen gezeigt:
    <ejb-local-ref>
    	<ejb-ref-name>ejb/LocalHumanTaskManagerHome</ejb-ref-name>
    	<ejb-ref-type>Session</ejb-ref-type>
    	<local-home>com.ibm.task.api.LocalHumanTaskManagerHome</local-home>
    	<local>com.ibm.task.api.LocalHumanTaskManager</local>
    </ejb-local-ref>

    Wenn Sie mit WebSphere Integration Developer den EJB-Verweis dem Implementierungsdeskriptor hinzufügen, wird die Bindung für den EJB-Verweis beim Implementieren der Anwendung automatisch erstellt. Weitere Informationen zum Hinzufügen von EJB-Verweisen enthält die Dokumentation von WebSphere Integration Developer.

  2. Machen Sie die lokale Home-Schnittstelle für die Anwendung verfügbar, unter Verwendung der JNDI-Suchfunktion (JNDI = Java Naming and Directory Interface). Das folgende Beispiel zeigt diesen Schritt für eine Prozessanwendung:
    // Ursprünglichen JNDI-Standardkontext abfragen
    InitialContext initialContext = new InitialContext();
    
      // Lokale Home-Schnittstelle der LocalBusinessFlowManager-Bean suchen
     
       LocalBusinessFlowManagerHome processHome = 
            (LocalBusinessFlowManagerHome)initialContext.lookup
            ("java:comp/env/ejb/LocalBusinessFlowManagerHome");
    Die Home-Schnittstelle der lokalen Session-Bean enthält eine Erstellungsmethode für EJB-Objekte. Die Methode gibt die lokale Schnittstelle der Session-Bean zurück.
  3. Greifen Sie auf die lokale Schnittstelle der lokalen Session-Bean zu. Das folgende Beispiel zeigt diesen Schritt für eine Prozessanwendung:
    LocalBusinessFlowManager process = processHome.create();
  4. Rufen Sie die von der Serviceschnittstelle bereitgestellten Business-Funktionen auf. Das folgende Beispiel zeigt diesen Schritt für eine Prozessanwendung:
    process.initiate("MyProcessModel",input);
    Aufrufe von Anwendungen werden als Transaktionen ausgeführt. Eine Transaktion wird auf eine der folgenden Arten eingerichtet und beendet:
    • Automatisch durch WebSphere Application Server (im Implementierungsdeskriptor ist TX_REQUIRED angegeben)
    • Explizit durch die Anwendung; Sie können Anwendungsaufrufe in einer einzigen Transaktion bündeln:
      // Benutzertransaktionsschnittstelle abrufen
         UserTransaction transaction=
             (UserTransaction)initialContext.lookup("jta/usertransaction");
      
         // Eine Transaktion beginnen
         transaction.begin();
      
           // Anwendungsaufrufe ...
      
         // Bei erfolgreicher Rückgabe die Transaktion festschreiben
         transaction.commit();
Das folgende Beispiel zeigt, wie die Schritte 2 bis 4 für eine Taskanwendung aussehen können.
// Ursprünglichen JNDI-Standardkontext abfragen
InitialContext initialContext = new InitialContext();

  // Lokale Home-Schnittstelle der LocalHumanTaskManager-Bean suchen
 
   LocalHumanTaskManagerHome taskHome = 
        (LocalHumanTaskManagerHome)initialContext.lookup
        ("java:comp/env/ejb/LocalHumanTaskManagerHome");

...
// Zugriff auf die lokale Schnittstelle der lokalen Session-Bean
LocalHumanTaskManager task = taskHome.create();

...
// Aufrufen der von der Serviceschnittstelle bereitgestellten Business-Funktionen
task.callTask(tkiid,input);

Rechtliche Hinweise |

Letzte Aktualisierung: LASTUPDATEDVAR

(c) Copyright IBM Corporation 2005.
Dieses Information Center basiert auf Eclipse-Technologie. (http://www.eclipse.org)