I have this EJB transaction related problem
(Orion 1.5.2, DB2 V7.1) :

I have 2 EJBs:

1) UserSession (Stateless session bean)
     trans-attribute: Required
     transaction-type : Container

2) User (BMP entity bean)    
     trans-attribute: Mandatory

My client makes a call to a method in UserSession
which
in turns call User.

In User EJB, the method will get a connection:

  Connection cn =  ds.getConnection(..);
  cn.setAutoCommit(false);

After performing database operation, connection is
closed:
  cn.close();

At this point an exception is raised:
=========== exception ==================
javax.transaction.TransactionRolledbackException:
java.rmi.RemoteException: SQLException.; nested
exception is: 
        COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver]
CLI0116E  Invalid transaction state. SQLSTATE=25000

CLI0116E Invalid transaction state.  
 :
============exception======================

I looked up DB2 documentation and the following was
the explanation:


Explanation: There was a transaction in progress when
SQLDisconnect was called. 

User Response: Call SQLTransact before calling
SQLDisconnect. 

Has anyone encountered similar problems before?

Thanks.


ps. I attached my data-sources.xml just in case there
was a misconfig of datasource.


<data-source
class="com.evermind.sql.DriverManagerDataSource"
name="DB2"
location="jdbc/DB2CoreDS"
xa-location="jdbc/DB2XADS"
ejb-location="jdbc/DB2DS"
connection-driver="COM.ibm.db2.jdbc.app.DB2Driver"
username="db2inst1"
password="db2inst1"
url="jdbc:db2:sbn"
schema="database-schemas/db2.xml"
inactivity-timeout="30"
/>



__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1

Reply via email to