!!! Listing 1
UserTransaction userTran = (UserTransaction)
initialContext.lookup(
"java:comp/UserTransaction");
userTran.begin();
// Interaktion mit Ressourcen
userTran.commit();
!!! Listing 2
TxEjb
TxEjbSession
txsample.TxEjbSessionHome
txsample.TxEjbSession
txsample.TxEjbSessionBean
Stateless
Container
TxEjbClient.jar
!!! Listing 3
TxEjbSession
Remote
testTxn
NotSupported
!!! Listing 4
!!! Listing 5
UserActivitySession activitySession =
(UserActivitySession) initialContext.lookup(
"java:comp/websphere/UserActivitySession");
activitySession.beginSession();
// Interaktion mit Ressourcen und anderen
// (z.B. Entity) EJBs die als Grundeinstellung
// AS_SUPPORTS haben
activitySession.endSession(
UserActivitySession.EndModeCheckPoint);
!!! Listing 6
public class TxSess implements javax.ejb.SessionBean {
...
public test() {
// Kontext ist eine globale Transaktion
// Zugriff auf Ressourcen
try {
// Der WorkManager ist über Resource-Refs
// im lokalen JNDI verfügbar
WorkManager wm = (WorkManager)
initialContext.lookup(
"java:comp/env/wm/default");
MyWork myWork = new MyWork();
wm.doWork( myWork );
} catch( Exception exc ) {}
// Weiterer Zugriff auf Ressourcen in
// der globalen Transaktion
}
}
public class MyWork implements Work {
...
public void run() {
// Zugriff auf Ressourcen in einer
// eigenen lokalen Transaktion
}
}