PK08312: WLTC0037E: CANNOT START A GLOBAL TRANSACTION WHEN USING BMT IN AN MDB.

 A fix is available

Obtain the fix for this APAR



APAR status
Closed as program error.

Error description
In WebSphere Application Server when attempted to start a Bean
Managed Transaction in an MDB, the the server throws the
following exception causing the app to fail.

Trace: 2005/06/13 16:36:26.574 01 t=9A8088 c=UNK key=P8 (130072)
   FunctionName: com.ibm.ws.LocalTransaction.LTCUserTranCallback
   SourceId: com.ibm.ws.LocalTransaction.LTCUserTranCallback
   Category: ERROR
   ExtendedMessage: WLTC0037E: Cannot start a global transaction
   A LocalTransactionContainment is already active with work.
 Trace: 2005/06/13 16:36:26.574 01 t=9A8088 c=UNK key=P8 (0000A)
   Description: Log Boss/390 Error
   from filename: ./bborjtr.cpp
   at line: 861
   error message: BBOO0220E WLTC0037E: Cannot start a global
   transaction. A LocalTransactionContainment is already active
   with work.
 com.ibm.ws.LocalTransaction.LTCUserTranCallback com.ibm.ws.
 LocalTransaction.LTCUserTranCallback
 Trace: 2005/06/13 16:36:26.576 01 t=9A8088 c=UNK key=P8 (1302)
   FunctionName: com.ibm.ws.LocalTransaction.LTCUserTranCallback
   SourceId: com.ibm.ws.LocalTransaction.LTCUserTranCallback
   Category: EVENT
   ExtendedMessage: contextChange caught exception; java.lang.
   IllegalStateException: Cannot start a global transaction. A
   LocalTransactionContainement is already active with work.
  at com.ibm.ws.LocalTransaction.LTCUserTranCallback.transaction
  at com.ibm.ws.LocalTransaction.LTCUserTranCallback.contextChan
  at com.ibm.ws390.tx.UserTransactionImpl.informCallbacks(UserTr
  at com.ibm.ws390.tx.UserTransactionImpl.begin(UserTransactionI
  at com.ibm.ejs.container.UserTransactionWrapper.begin(UserTran
  at com.dtcc.ive.ejb.SIMPInputMDBBean.onMessage(SIMPInputMDBBea
  at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.ru
  at com.ibm.ws.security.util.AccessController.doPrivileged(Acce
  at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrappe
  at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.ja
  at com.ibm.ejs.jms.listener.WS390ServerSession.onMessage(WS390
  at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSessi
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcc
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcc
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingM
  at java.lang.reflect.Method.invoke(Method.java(Compiled Code))
  at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(S
  at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:
  at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:
  at com.ibm.ejs.jms.listener.WS390ServerSession.runMR(WS390Serv
  at com.ibm.ejs.jms.listener.MDBCppUtilitiesInterfaceImpl.onMes
  at com.ibm.ws390.mdb.MDBCppUtilities.onMessageReference(MDBCpp
Local fix
Use Container Managed Transaction in an MDB.
Problem summary
****************************************************************
* USERS AFFECTED: All users of WebSphere Application Server    *
*                 V5.0 for z/OS                                *
****************************************************************
* PROBLEM DESCRIPTION: BMT MDBs fail with message "WLTC0037E:  *
*                      Cannot start a global transaction" or   *
*                      "WLTC0018E: Cannot begin a              *
*                      LocalTransactionContainment. A          *
*                      LocalTransactionContainment is already  *
*                      active." when an application goes to    *
*                      begin a UserTransaction in its          *
*                      onMessage() method.                     *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
The problem occurs with Message-Driven Beans (MDBs) deployed
with a  value of "Bean" for the <transaction-type> deployment
descriptor (i.e., Bean-Managed Tran or BMT).  Currently the
message handed to the MDBs onMessage() method is consumed under
the same local transaction containment (LTC) that the EJB
container establishes for the dispatch of the MDB onMessage()
method. When the user begins a UserTransaction in the
application's onMessage() method, the failure occurs because the
LTC can not be completed until message consumption is committed,
which (correctly) does not happen until after the application's
onMessage() completes.  This results in the WLTC0037E or
WLTC0018E message.
Problem conclusion
Code was modified for the BMT case to create a second new LTC
around message consumption. Now  when the EJB container
creates an LTC around the application's onMessage() it will
create another LTC distinct from the one used to consume
the message. This second LTC can be ended when the user begins
a UserTransaction in the application's onMessage() method since
the message consumption is no longer enlisted within it.

APAR PK08312 is associated with SERVICE LEVEL W502033 of
WebSphere Application Server V5.0 for z/OS.
Temporary fix Comments
APAR information
APAR number PK08312
Reported component name WEBSPHERE FOR Z
Reported component ID 5655I3500
Reported release 500
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2005-07-01
Closed date 2005-08-24
Last modified date 2005-09-07

APAR is sysrouted FROM one or more of the following:
PK08311

APAR is sysrouted TO one or more of the following:

Modules/Macros
BBOUBINF          

Publications Referenced

Fix information
Fixed component name WEBSPHERE FOR Z
Fixed component ID 5655I3500

Applicable component levels
R500 PSY UK06587    UP05/08/27 P F508

  Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.


Document Information


Current web document: swg1PK08312.html
Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS
Operating system(s):
Software version: 500
Software edition:
Reference #: PK08312
IBM Group: Software Group
Modified date: Sep 7, 2005