JTS/JTA help

Could anyone clear my thoughts regarding the following queries -
1. Is JTS just a Specification or a concrete Implementation that could
provided Transaction service.
2. What is the differences between JTS and JTA?
3. Could I use JTS/JTA directly in my application.
4. Do I need any other software to make these API work.
5. Who would be really be the provider of this API? Is there any provider
from where I could download the libraries.
Any insights from ur experiences would put me in high spirits :-)
--Suresh
[email protected]

Hi,
JTS is a specification, a 'Java-version' of the CORBA OTS specification.
JTA is the interface for creating and using transactions inside one Java application (such as an application server).
JTS is mainly for 'exporting' and 'importing' the same transaction in different VMs or even to/from CORBA applications that were written in a diffent language and run on a non-Java platform. JTS/OTS also has some interfaces for application-level transaction creation, but Java has the JTA as a simplified mechanism for doing that.
About using JTA/JTS in your application directly: yes you can, but you may need some extra handling of XAResources that need setup. Atomikos has such a JTA, and also a JTS (but still in beta).
You do not need extra APIs to make them work, except maybe for the databases or message queues that you want to connect to. For the JTS, you need a Java ORB.
For more information: http://www.atomikos.com
Best regards,
Guy

Similar Messages

  • Non J2ee use of JTA/JTS

    I am about to build a small J2SE Gui app but think I need to build in some Transactional features
    Can I use JTS/JTA outside of an AppServer environment - if so can your provide some pointers/docs/links
    for example in the JINI world there is a Transaction Management service (Mahalo) - is this really just JTA/JTS repackaged for the JINI world

    I'm not sure that just a JDBC Transaction wil sufficeI believe it's sufficient.
    I had in mind manipulating several classes worth of data via a GUIThe fact that you're doing it with a GUI is immaterial.
    If all goes well I can commit/update the underlying
    DB - otherwise I need to 'Rolback' the changes
    (potentially inside the DB & also in the GUI
    supporting classes)If you have good MVC separation it's not a problem.
    Sounds like you'll need to write your DAO persistence layer in such a way that several objects can participate in a transaction. No problem - do it in such a way that you pass a shared Connection between all the objects. Set auto commit to false for the Connection before you start, and then follow the usual idiom.
    If you commit, update the VO in the middle tier and ask the GUI to display them.
    If you rollback, the middle tier VO are unchanged and the GUI ends up displaying the original values again.
    %

  • Problem with EJB and JMS - Failed to obtain/create connection

    hello ejb and jms programmers,
    My problem is my topic MDB keep on retrieving the same message when there is a database connection failure. Maybe somebody could help me how to prevent to retrieve the same data?
    Given:
    - I purposedly turn off the pointbase database because im testing my error handling.
    - Im using SJSAS 8 as my application server.
    - My message Driven Bean of topic type.
    - Im using CMP for my entity bean
    Here is the scenario of whats happening - step by step:
    1. A separate application publishes a message to JMS queue server
    2. My MDB retrieves this message and do some processing then inserts a record (transaction history) in my database
    3. But my db is turned off or down
    4. My MDB sends a successful processing reply to the JMS queue server
    5. Then i noticed that my server.log keeps on growing so when i opened it, the record was not inserted and printed the stacktrace below "RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException" (complete stacktrace below)
    6. I understand the cause of the stacktrace is because the DB is turned off. But what i dont understand is that my MDB keeps on reading the same message. Since my MDB is of topic type, isnt a topic MDB supposedly reads a message only once???
    So my questions are:
    1. how do i handle insert database error?
    2. how can i stop my MDB from processing the same message?
    3. any better suggestions?
    Thank you in advance :)
    leigh
    *** more complete stack trace ***
    [#|2005-01-09T15:35:57.097+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=17;|JTS5041: The resource manager is doing work outside a global transaction
    javax.transaction.xa.XAException
         at com.pointbase.xa.xaException.getXAException(Unknown Source)
         at com.pointbase.xa.xaConnectionResource.start(Unknown Source)
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    [#|2005-01-09T15:35:57.167+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5027:Unexpected exception in resource pooling
    javax.transaction.SystemException
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:185)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
    [#|2005-01-09T15:35:57.177+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5117 : Failed to obtain/create connection. Reason : javax.transaction.SystemException|#]
    [#|2005-01-09T15:35:57.227+0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=17;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: javax.transaction.SystemException]|#]
    [#|2005-01-09T15:35:57.237+0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=17;|EJB5071: Some remote or transactional roll back exception occurred
    com.sun.jdo.api.persistence.support.JDODataStoreException: JDO77006: SQL exception: state = null, error code = 0.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: javax.transaction.SystemException
    FailedObjectArray: [[email protected]5ac]
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnectionInternal(TransactionImpl.java:1444)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.TransactionImpl.getConnection(TransactionImpl.java:1339)

    Hi annie,
    Wherever you are handling database transactions,
    you'd not be able to create a Connection if database
    is closed (I think you mentioned turning off the
    database) then at this condition, you should
    certainly throw a System level exception and stop all
    processing with some meaningful flow to indicate a
    failure (like display message on UI). Even
    network problems are handled by exceptions... so I
    don't see a reason why you didn't wrap it in the
    first place.
    Anyway, try handling specific exceptions rather than
    the general Exception... this will give you a better
    idea of what to do in case of an exception.Yes i know this. I am practicing this in my non-j2ee server applications. But the j2ee app im making, i just pass the db url in the descriptor and the app server automatically creates the connection for my app. So where would i put exception handling?
    2. how can i stop my MDB from processing the same
    message?Guaranteed delivery is not supposed to stop
    processing. It will continue to process the message
    after certain intervals till the message is
    delivered. You shouldn't deliver it at all, if you
    are able to detect that the database is off
    The problem here is that my MDB automatically retrieves the message from the JMS queue server. Im not the one retrieving the messages manually.
    My assumed behavior of topic MDB is once the a certain MDB retrieves a message it will not retrieve the same message anymore.
    thank you in advance.
    leigh

  • How to configure sun application server 8.2 for Oracle RAC 10g

    Hello,
    We have numerous boxes running the sun platform application server 8.2 and 2 boxes running enterprise version 8.2 all connecting to a 4 node Oracle RAC 10 G release 2 database. We have the system up and working. The application servers are connecting just fine to the database and the apps don't have any problems querying, inserting, etc. However, when we try to do failover testing of situations when a node or nodes of the Oracle RAC database goes down the application server does not gain new valid connections. Our configuration is this, OracleDataSource for the data source, table validation turned on with a valid table, ONS configuration set in properties, connectionCache enabled, and fastconnectionfailover enabled as well in the properties. We have that long oracle rac url with load balancing turned on set fot the database URL. We have the checkbox checked to fail all connections on any failure. ONS is configured properly within the database because we have a java application that runs outside of the application server that uses all the same settings described above (only set manually in our code for the OracleDataSource). This application works seemlessly when DB nodes are shutdown. We can shutdown all but one node and it's still humming along without skipping a beat. Start up one of the others, kill the last node, it still hums along nicely without skipping a beat. We'd really like to get the applications running in the application server to work the same way. Any help would be greatly appreciated. We've tried all the combinations that we can think of with configuration settings in the application server and it never works. Am tempted to rip out the database connection pool from inside the application server and configure it manually in the code but we are using entity beans and this is the much easier approach, if it will work. It's down to the point of does sun application server actually work with oracle RAC for connection failovers.

    Hi,
    We are also facing similar execption. Here is the error, we are getting, when a node is failed on RAC.
    [#|2007-11-11T12:43:53.685+0000|WARNING|sun-appserver-ee8.1_02|javax.enterprise.system.core.transaction|_ThreadID=38;|JTS5041: The resource manager is doing work outside a global transaction
    oracle.jdbc.xa.OracleXAException
    at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1270)
    at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:318)
    at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:184)
    at com.sun.jts.jta.TransactionState.startAssociation(TransactionState.java:258)
    at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:181)
    at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:397)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:312)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:114)
    at com.sun.enterprise.resource.ResourceManagerImpl.registerResource(ResourceManagerImpl.java:113)
    at com.sun.enterprise.resource.ResourceManagerImpl.enlistResource(ResourceManagerImpl.java:71)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:176)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:268)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:193)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
    at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
    at com.syntegra.nasp.etp.dax.DBManager.getConnection(DBManager.java:192)
    at com.syntegra.nasp.etp.dax.DBManager.createDBCommand(DBManager.java:241)
    at com.syntegra.nasp.etp.dax.DBManager.createDBCommand(DBManager.java:251)
    at com.syntegra.nasp.etp.dax.sp.SPS_PRESCRIPTION_GUID_PROC.getCommand(SPS_PRESCRIPTION_GUID_PROC.java:31)
    at com.syntegra.nasp.etp.dax.sp.SPS_PRESCRIPTION_GUID_PROC.execute(SPS_PRESCRIPTION_GUID_PROC.java:23)
    at com.syntegra.nasp.etp.dax.PrescriptionBaseDataMapper.loadPresciptionByGUID(PrescriptionBaseDataMapper.java:203)
    at com.syntegra.nasp.etp.model.PrescriptionBase.findByPrescriptionGUID(PrescriptionBase.java:176)
    at com.syntegra.nasp.etp.messages.PatientPrescriptionReleaseRequest.execute(PatientPrescriptionReleaseRequest.java:120)
    at com.syntegra.nasp.etp.service.ETPSLBean.processMessage(ETPSLBean.java:159)
    at sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:147)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:128)
    at $Proxy6.processMessage(Unknown Source)
    at com.syntegra.nasp.etp.listener.RequestListener.onRequest(RequestListener.java:204)
    at com.syntegra.spine.csf.consumer.mdb.CSFListenerRegisteringConsumer.onRequest(CSFListenerRegisteringConsumer.java:54)
    at com.syntegra.spine.csf.consumer.mdb.CSFConsumerBase.invokeListener(CSFConsumerBase.java:267)
    at com.syntegra.spine.csf.consumer.mdb.CSFConsumerBase.processMessage(CSFConsumerBase.java:180)
    at com.syntegra.spine.csf.consumer.mdb.CSFConsumerBase.onMessage(CSFConsumerBase.java:102)
    at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:955)
    at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:158)
    at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:956)
    at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:42)
    at com.sun.enterprise.connectors.inflow.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:130)
    at $Proxy9.onMessage(Unknown Source)
    at com.sun.genericra.inbound.DeliveryHelper.deliverMessage(DeliveryHelper.java:183)
    at com.sun.genericra.inbound.DeliveryHelper.deliver(DeliveryHelper.
    Regards
    Selvan.

  • How to write a create method for a table Not null fields

    Hi all,
    I have a table with four columns,
    process
    prs_seqid NUMBER(4) NOT NULL,
    prs_sbs VARCHAR2(2) NOT NULL,
    prs_name VARCHAR2(64) NOT NULL,
    description VARCHAR2(128)
    Where prs_seqid is primary key and prs_sbs is foreign key.
    I tried to create a CMP bean for this table. I am unable to write a record in table while I can read
    Records from table. These are the create methods
    public Long ejbCreate() throws CreateException {
    return null;
    public Long ejbCreate(Long newPrs_seqid, String newPrs_sbs, String newPrs_name) throws CreateException {
    prs_seqid = newPrs_seqid;
    newPrs_sbs = prs_sbs;
    prs_name = newPrs_name;
    return null;
    public void ejbPostCreate() {
    public void ejbPostCreate(Long newPrs_seqid, String newPrs_sbs, String newPrs_name) {
    When I run the client code �home.create(pk, "AB", "ABC");�
    It throws
    java.rmi.ServerException: RemoteException occurred in server thread; nested exce
    ption is:
    java.rmi.RemoteException: Transaction aborted (possibly due to transacti
    on time out).; nested exception is: javax.transaction.RollbackException; nested
    exception is:
    javax.transaction.RollbackException
    java.rmi.RemoteException: Transaction aborted (possibly due to transaction time
    out).; nested exception is: javax.transaction.RollbackException; nested exceptio
    n is:
    javax.transaction.RollbackException
    javax.transaction.RollbackException
    <<no stack trace available>>
    In log file I got
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
         at com.sun.ejb.persistence.PersistenceManagerImpl.createRow(PersistenceManagerImpl.java:630)
         at com.sun.ejb.persistence.PersistenceManagerImpl.storeRow(PersistenceManagerImpl.java:412)
         at com.sun.ejb.persistence.PartitionImpl.ejbStore(PartitionImpl.java:555)
         at com.telesenskscl.processes.ProcessesBean_PM.ejbStore(ProcessesBean_PM.java:103)
         at com.sun.ejb.containers.EntityContainer.callEJBStore(EntityContainer.java:1581)
         at com.sun.ejb.containers.EntityContainer.enlistResourcesAndStore(EntityContainer.java:868)
         at com.sun.ejb.containers.EntityContainer.beforeCompletion(EntityContainer.java:853)
         at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:65)
         at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:48)
         at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:108)
         at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2289)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:233)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:208)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:386)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:208)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:434)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:1460)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:1278)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:397)
         at com.telesenskscl.processes.ProcessesBean_PM_RemoteHomeImpl.create(ProcessesBean_PM_RemoteHomeImpl.java:41)
         at com.telesenskscl.processes._ProcessesBean_PM_RemoteHomeImpl_Tie._invoke(Unknown Source)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
         at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
         at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
         at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    javax.ejb.EJBException: nested exception is: javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
    javax.ejb.EJBException: nested exception is: java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
    java.sql.SQLException: ORA-01400: cannot insert NULL into ("SCOTT"."PROCESSES"."PRS_SBS")
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:1446)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:1371)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1900)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:363)
         at com.sun.ejb.persistence.PersistenceManagerImpl.createRow(PersistenceManagerImpl.java:630)
         at com.sun.ejb.persistence.PersistenceManagerImpl.storeRow(PersistenceManagerImpl.java:412)
         at com.sun.ejb.persistence.PartitionImpl.ejbStore(PartitionImpl.java:555)
         at com.telesenskscl.processes.ProcessesBean_PM.ejbStore(ProcessesBean_PM.java:103)
         at com.sun.ejb.containers.EntityContainer.callEJBStore(EntityContainer.java:1581)
         at com.sun.ejb.containers.EntityContainer.enlistResourcesAndStore(EntityContainer.java:868)
         at com.sun.ejb.containers.EntityContainer.beforeCompletion(EntityContainer.java:853)
         at com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:65)
         at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:48)
         at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:108)
         at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2289)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:233)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:208)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:386)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:208)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:434)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:1460)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:1278)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:397)
         at com.telesenskscl.processes.ProcessesBean_PM_RemoteHomeImpl.create(ProcessesBean_PM_RemoteHomeImpl.java:41)
         at com.telesenskscl.processes._ProcessesBean_PM_RemoteHomeImpl_Tie._invoke(Unknown Source)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatchToServant(GenericPOAServerSC.java:519)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.internalDispatch(GenericPOAServerSC.java:204)
         at com.sun.corba.ee.internal.POA.GenericPOAServerSC.dispatch(GenericPOAServerSC.java:112)
         at com.sun.corba.ee.internal.iiop.ORB.process(ORB.java:273)
         at com.sun.corba.ee.internal.iiop.RequestProcessor.process(RequestProcessor.java:84)
         at com.sun.corba.ee.internal.orbutil.ThreadPool$PooledThread.run(ThreadPool.java:99)
    Please help me ASAP. Thanks in advance

    I found problem was with my code. I wrote
    newPrs_sbs = prs_sbs; instead of
    prs_sbs = newPrs_sbs;
    This solves my problem
    Thanks to all.....

  • Has anyone managed to get an XA datasource working with Oracle?

    In Sun j2sdkee 1.3.1 you must use XA-Datasources when you are using more than one
    datasource in one transaction. So I declared my Oracle datasource to be a XA-Datasource.
    The container is able to load and initlialize the Oracle XADataSource clasess. But when I first try to
    open a connection with getConnection() I get an Exception:
    javax.transaction.xa.XAException
    at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:154)
    at com.sun.jts.jta.TransactionState.startAssociation(TransactionState.java:232)
    at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:145)
    at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:252)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:131)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:87)
    at com.sun.enterprise.resource.PoolManagerImpl.registerResource(PoolManagerImpl.java:147)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:128)
    at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(JdbcDataSource.java:137)
    at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSource.java:111)
    I'm using classes12.zip from Oracle 9i (which supports jdk1.3.x) and an Oracle 8.1.6 database server.
    Is there anything I have to configure on the database server? The JAVA_XA package is installed on the
    server.
    Thanks for any help
    Helmut

    I used classes12.jar with a 9.2 database without any problems. JDBC calls, XA Datasources as well as CMP calls worked fine.
    I think the ojdbc14.jar is required for use with a 1.4 JDK.
    Of course, there might be features in 9.1 that might require the new jar.
    Just mentioning that the jar did not pose me problems. Adding this information so it might help the OP narrow down the source of error.

  • Integration with Websphere 5.0 (EJB 2.0) problems

    Hello all,
    Although a bit new to JDO, I have been trying to integrate Kodo 2.4 with
    Websphere 5.0 (using EJB 2.0).
    I have been basically binding a PersistenceManagerFactory into JNDI via
    start-up servlet, however got the exception bellow when I tried to create
    PersistenceManagerFactory (in setSessionContext of the EJB).
    <i>JDOFatalInternalException: Could not perform automatic lookup of EJB
    container's javax.transaction.TransactionManager implementation. Please ensure
    that you are running the application from within an <b>EJB 1.1</b> compliant
    EJB container, and then set the
    com.solarmetric.kodo.ee.ManagedRuntimeProperties property to the appropriate
    value to obtain the TransactionManager.</i>
    The reference to EJB 1.1 actually scared me a bit. Does this imply that
    Kodo (2.4) does not support J2EE 1.3?
    Would you know how to set the
    com.solarmetric.kodo.ee.ManagedRuntimeProperties to make it work with WSAD
    5.0?
    Thank you,
    Petr

    Petr-
    Is the integration with Websphere 5.0 application server officially
    supported? Has anobody (that you know of) done it successfully yet?Yes, we do have reports of people using Kodo successfully from within
    Websphere. However, it should be noted that it is not as rigorously
    tested internally at SolarMetric as some other application servers (E.g.,
    JBoss and WebLogic). In short, integration is known to work, but it
    might be a little more rough around the edges than for other application
    servers (as shown in our misspelling of Websphere's TransactionManager
    implementation name).
    How do I tell Kodo to use existing Datasource managed by app server?You can have Kodo use a named DataSource by specifying the
    javax.jdo.option.ConnectionFactoryName property (see
    http://www.solarmetric.com/docs/2.4.0/docs/manual.html#javax.jdo.option.ConnectionFactoryName).
    This is often more appropriate for applications server usage, since it
    allows you to configure pooling and other information from within the
    application server's centralized configuration.
    javax.jdo.option.ConnectionDriverName=COM.ibm.db2.jdbc.app.DB2Driver
    javax.jdo.option.ConnectionURL=jdbc:db2:snetWhat kind of driver is COM.ibm.db2.jdbc.app.DB2Driver? The DB2
    configuration we use for testing with IBM's drivers is:
    javax.jdo.option.ConnectionDriverName=COM.ibm.db2.jdbc.net.DB2Driver
    javax.jdo.option.ConnectionURL=jdbc:db2://SERVER_NAME/DATABASE_NAME
    They shouldn't behave differently (I am guessing that the app driver is
    a type 2 driver or something), but it might be worth a shot to try using
    the net driver. If this fixes the problem, please let us know, because
    it will indicate that Kodo has a deficiency with one of IBM's drivers
    that we should look into resolving.
    Since I have been trying to integrate with App server, this is the
    initialization code that I use to bind PersistenceManagerFactory to JNDI.
    You may find some funny stuff there.The binding code looks fine, and you are obviously able to retrive the
    PM and start persistence operations. Note that you should also be able
    to deploy Kodo as a Resource Adapter (which allows Kodo configuration
    through the centralized Websphere configuration interface). However, I
    doubt this is part of the issue.
    So, in short, I recommend trying the following things:
    1. Using the ConnectionFactoryName to use the DataSource defined for the
    appserver, on the off chance this will fix it.
    2. Using the net driver instead of the app driver.
    3. Seeing if it will work with javax.jdo.option.Optimistic set to false
    If none of these work, please let us know, and we will continue to
    investigate other possible solutions.
    In article <[email protected]>, Petr Bulanek wrote:
    Hello Marc,
    Very good guess. Pretty much the same code worked well without App server.
    In that case, there obviously was no magic related to
    TransactionManagerFactory initialization (see bellow).
    Is the integration with Websphere 5.0 application server officially
    supported? Has anobody (that you know of) done it successfully yet?
    How do I tell Kodo to use existing Datasource managed by app server?
    Here is the basic configuration (URL, class, etc):
    javax.jdo.PersistenceManagerFactoryClass=com.solarmetric.kodo.impl.jdbc.JDBCPersistenceManagerFactory
    javax.jdo.option.ConnectionDriverName=COM.ibm.db2.jdbc.app.DB2Driver
    javax.jdo.option.ConnectionURL=jdbc:db2:snet
    javax.jdo.option.Optimistic=true
    javax.jdo.option.RetainValues=true
    javax.jdo.option.NontransactionalRead=true
    We use DB2 Version 7.2/Version 7.1 FixPak 3 for Windows, in case it helps.
    Since I have been trying to integrate with App server, this is the
    initialization code that I use to bind PersistenceManagerFactory to JNDI.
    You may find some funny stuff there.
    The new EESimpleConfiguration(true) construct seems to (by default) read
    the kodo.properties file that is part of the project.
    EEConfiguration conf = new EESimpleConfiguration(true);
    conf.setManagedRuntimeProperties(\"TransactionManagerMethod=com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager\");
    conf.setManagedRuntimeClass(\"com.solarmetric.kodo.ee.InvocationManagedRuntime\");
    EEPersistenceManagerFactory pmf =
                        new EEPersistenceManagerFactory(conf);
    InitialContext ic = new InitialContext();
    ic.rebind(\"KodoPMF\", pmf);
    Thank you,
    Petr
    Marc Prud\'hommeaux wrote:
    Petr-
    It looks like DB2 doesn\'t like our attempt to close the connection
    without a rollback or commit. This is odd, since we have never
    seen this happen in our stand-alone DB2 tests. Can you let us know
    the connection details (driver, connectionURL, etc)?
    In the meantime, one possible workaround may be to turn off
    optimistic transactions (since this will cause the PM to
    only use a single Connection); can you try to specify:
    javax.jdo.option.Optimistic=false
    Also, have you tried to run this code in a non-managed environment
    (e.g., outside the application server)? I would be interested
    to know if it is related to running within an appserver.
    In article <[email protected]>, Petr Bulanek wrote:
    Hi Abe,
    Thank you for a speedo reply. You guys really are on the ball!!!
    As you suggested, the
    \\\'com.ibm.ejs.jts.jta.TransactionManagerFactory.getTransactionManager\\\'
    did the job (for others, please note that the proper package name should
    contain \\\'jts.jta\\\', not \\\'jts.jts\\\').
    Unfortunately, I got another problem. When running a method containing
    query (code bellow),
    I get SQLException complaining about \\\'Invalid transaction state\\\'.
    The method that executes the query is a stateless transactional Session
    bean.
    Thank you for your help,
    Petr
    --------------------------- DB2 - transaction state description
    CLI0116E Invalid transaction state.
    Explanation: There was a transaction in progress when SQLDisconnect was
    called.
    User Response: Call SQLTransact before calling SQLDisconnect.
    --------------------------- Exception ------------------------------------
    [2/01/03 16:34:19:050 EST] 563ddb8a SQL I
    com.solarmetric.kodo.impl.jdbc.SQL [ C:336042896; T:1446894474;
    D:118283149 ] preparing statement <369367952>: SELECT DISTINCT
    PARENTX.JDOCLASSX FROM PARENTX
    [2/01/03 16:34:19:050 EST] 563ddb8a SQL I
    com.solarmetric.kodo.impl.jdbc.SQL [ C:336042896; T:1446894474;
    D:118283149 ] executing statement <369367952>: [reused=1;params={}]
    [2/01/03 16:34:19:061 EST] 563ddb8a JDBC I
    com.solarmetric.kodo.impl.jdbc.JDBC [ C:336042896; T:1446894474;
    D:118283149 ] close:
    com.solarmetric.datasource.PoolConnection@14079b90[[requests=6;size=6;max=70;hits=0;created=6;redundant=0;overflow=0;new=6;leaked=0;unavailable=0]]
    [2/01/03 16:34:19:061 EST] 563ddb8a JDBC I
    com.solarmetric.kodo.impl.jdbc.JDBC [ C:336042896; T:1446894474;
    D:118283149 ] close connection
    [2/01/03 16:34:19:061 EST] 563ddb8a JDBC W
    com.solarmetric.kodo.impl.jdbc.JDBC [ C:null; T:1446894474; D:118283149 ]
    exception when closing connection
    [2/01/03 16:34:19:541 EST] 563ddb8a JDBC W
    com.solarmetric.kodo.impl.jdbc.JDBC TRAS0014I: The following exception
    was logged COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] CLI0116E
    Invalid transaction state. SQLSTATE=25000
    atcom.solarmetric.datasource.ConnectionWrapper.close(ConnectionWrapper.java:243)
    atcom.solarmetric.datasource.DataSourceImpl$AbstractPool.close(DataSourceImpl.java:690)
    atcom.solarmetric.datasource.DataSourceImpl.close(DataSourceImpl.java:373)
    atcom.solarmetric.datasource.DataSourceImpl.close(DataSourceImpl.java:347)
    at com.solarmetric.datasource.PoolConnection.close(PoolConnection.java:70)
    atcom.solarmetric.kodo.impl.jdbc.SQLExecutionManagerImpl.close(SQLExecutionManagerImpl.java:885)
    atcom.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.release(JDBCStoreManager.java:654)
    atcom.solarmetric.kodo.impl.jdbc.ormapping.SubclassProviderImpl.getSubclasses(SubclassProviderImpl.java:274)
    atcom.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.addSubclassConditions(ClassMapping.java:1239)
    atcom.solarmetric.kodo.impl.jdbc.ormapping.ClassMapping.selectPrimaryMappings(ClassMapping.java:1218)
    atcom.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.executeQuery(JDBCStoreManager.java:717)
    atcom.solarmetric.kodo.impl.jdbc.runtime.JDBCQuery.executeQuery(JDBCQuery.java:92)
    at com.solarmetric.kodo.query.QueryImpl.executeWithMap(QueryImpl.java:792)
    atcom.solarmetric.kodo.query.QueryImpl.executeWithArray(QueryImpl.java:668)
    at com.solarmetric.kodo.query.QueryImpl.execute(QueryImpl.java:609)
    at com.testkodo.ejb.ControllerBean.observeHumans(ControllerBean.java:66)
    --------------------------- Failing code sample
    try {
                   PersistenceManager pm = factory.getPersistenceManager();
                   Extent ex = pm.getExtent(Parent.class, false);
                   Query q = pm.newQuery(ex, \\\"name==parName\\\");
                   q.declareParameters(\\\"String parName\\\");
                   Collection col = (Collection) q.execute(\\\"James\\\");
                   Iterator iter = col.iterator();
                   Parent pp;
                   Collection ch;
                   while (iter.hasNext()) {
                        pp = (Parent) iter.next();
                        System.out.println(pp);
                        ch = pp.getChildren();
                        Iterator it= ch.iterator();
                        while (it.hasNext()) {
                             System.out.println(it.next());
                   q.closeAll();
                   pm.close();
              } catch (Exception e) {
                   System.out.println(e);
                   throw new EJBException(e);
    Abe White wrote:
    The reference to EJB 1.1 actually scared me a bit. Does this imply that
    Kodo (2.4) does not support J2EE 1.3?
    EJB 2.0 is also supported. Sorry for the confusing error message.
    Would you know how to set the
    com.solarmetric.kodo.ee.ManagedRuntimeProperties to make it work with
    WSAD
    5.0?
    Try these settings:
    com.solarmetric.kodo.ee.ManagedRuntimeClass=\\\\
         com.solarmetric.kodo.ee.InvocationManagedRuntime
    com.solarmetric.kodo.ee.ManagedRuntimeProperties=\\\\
         TransactionManagerMethod=\\\\
         com.ibm.ejs.jts.jts.TransactionManagerFactory.getTransactionManager
    Marc Prud\'hommeaux [email protected]
    SolarMetric Inc. http://www.solarmetric.com

  • Problem with Oracle XA Datasource

    Hi All,
    I have created a JDBC XA Resource pool for Oracle DB and when i try to run my application, i am getting the below exception. But the same appln runs in NON-XA Datasource.
    <jdbc-connection-pool connection-validation-method="auto-commit" datasource-classname="oracle.jdbc.xa.client.OracleXADataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="false" max-pool-size="32" max-wait-time-in-millis="60000" name="ORA_XAPool" pool-resize-quantity="2" res-type="javax.sql.XADataSource" steady-pool-size="8">
    <property name="URL" value="jdbc:oracle:thin:@192.54.45.245:1521:orcl"/>
    <property name="Password" value="TestDB"/>
    <property name="User" value="TestDB"/>
    <property name="DataSourceName" value="OracleXADataSource"/>
    </jdbc-connection-pool>
    Any idea.... Please help.
    Version: Sun Java System Application Server Platform Edition 8.0.0_01 (build b08-fcs)
    Exception Trace:
    [#|2004-12-08T01:39:12.140-0800|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=12;|RAR5027:Unexpected exception in resource pooling
    java.lang.NullPointerException
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
         at com.sun.jts.jta.TransactionState.startAssociation(TransactionState.java:238)
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:173)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
         at com.sun.enterprise.resource.SystemResourceManagerImpl.enlistResource(SystemResourceManagerImpl.java:69)
         at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:140)
         at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:205)
         at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:94)
         at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:68)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.TransactionHelperImpl.getConnection(TransactionHelperImpl.java:181)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getConnection(EJBHelper.java:166)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getConnection(SQLPersistenceManagerFactory.java:886)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:851)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:780)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:667)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at
    #|2004-12-08T01:39:12.296-0800|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.entity.finder|_ThreadID=12;|JDO74010: Bean 'ItemEnt' method ejbFindAll: problems running JDOQL query.
    com.sun.jdo.api.persistence.support.JDOFatalInternalException: JDO76519: Failed to identify vendor type for the data store.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: java.lang.NullPointerException
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:864)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:780)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:667)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at
    thanks,
    Bobby

    Hi Aditya,
    Thanks for looking at my issue.
    1. Do you always get this NPE or is it an intermittent issue?
    Always i am getting this error, while accesing my sample CMP application.
    2. Did you run the code snippet that I posted yesterday with the jdk bundled with the appserver or some other jdk?
    I ran the code snippet with the jdk bundled with appserver.
    3. Have you run into any more of these NPE issues with other applications and other XA pools?
    When i executed another sample demo CMP application with oracle XA Pool, it works fine.
    4. Are there any other related expceptions in the log before the NPE? Would you please start with an empty server.log, run this application and post the whole log?
    StackTrace:
    Starting Sun Java System Application Server Platform Edition 8.0.0_01 (build b08-fcs) ...
    [#|2004-12-20T16:46:48.921+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|CORE5076: Using [Java HotSpot(TM) Client VM, Version 1.4.2_04] from [Sun Microsystems Inc.]|#]
    [#|2004-12-20T16:46:50.343+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=10;|ADM0020:Following is the information about the JMX MBeanServer used:|#]
    [#|2004-12-20T16:46:50.562+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=10;|ADM0001:MBeanServer initialized successfully|#]
    [#|2004-12-20T16:46:54.062+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|Creating virtual server server|#]
    [#|2004-12-20T16:46:54.062+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|S1AS AVK Instrumentation disabled|#]
    [#|2004-12-20T16:46:54.078+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.security|_ThreadID=10;|SEC1143: Loading policy provider com.sun.enterprise.security.provider.PolicyWrapper.|#]
    [#|2004-12-20T16:46:56.890+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.transaction|_ThreadID=10;|JTS5014: Recoverable JTS instance, serverId = [100]|#]
    [#|2004-12-20T16:46:58.437+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|Satisfying Optional Packages dependencies...|#]
    [#|2004-12-20T16:47:00.593+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=10;|RAR7008 : Initialized monitoring registry and listeners|#]
    [#|2004-12-20T16:47:01.390+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|CORE5100:Loading system apps|#]
    [#|2004-12-20T16:47:02.531+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [MEjbApp] loaded successfully!|#]
    [#|2004-12-20T16:47:03.234+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb|_ThreadID=10;|EJB5109:EJB Timer Service started successfully for datasource [jdbc/__TimerPool]|#]
    [#|2004-12-20T16:47:03.234+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [__ejb_container_timer_app] loaded successfully!|#]
    [#|2004-12-20T16:47:03.500+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [Tester:Tester.war] in virtual server [server] at [Tester]|#]
    [#|2004-12-20T16:47:04.343+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=10;|LDR5010: All ejb(s) of [cmpcustomer] loaded successfully!|#]
    [#|2004-12-20T16:47:04.343+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [cmpcustomer:cmpcustomer.war] in virtual server [server] at [customer]|#]
    [#|2004-12-20T16:47:04.375+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0302: Starting Tomcat.|#]
    [#|2004-12-20T16:47:04.531+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [adminapp] in virtual server [server] at [web1]|#]
    [#|2004-12-20T16:47:04.562+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [admingui] in virtual server [server] at [asadmin]|#]
    [#|2004-12-20T16:47:04.562+0530|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0500: default-locale attribute of locale-charset-info element has been deprecated and is being ignored. Use default-charset attribute of parameter-encoding element instead|#]
    [#|2004-12-20T16:47:04.562+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=10;|WEB0100: Loading web module [com_sun_web_ui] in virtual server [server] at [com_sun_web_ui]|#]
    [#|2004-12-20T16:47:04.578+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.catalina.startup.Embedded|_ThreadID=10;|Starting tomcat server|#]
    [#|2004-12-20T16:47:04.578+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.catalina.startup.Embedded|_ThreadID=10;|Catalina naming disabled|#]
    [#|2004-12-20T16:47:04.718+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.catalina.core.StandardEngine|_ThreadID=10;|Starting Servlet Engine: Sun-Java-System/Application-Server-PE-8.0|#]
    [#|2004-12-20T16:47:10.234+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.catalina.startup.ContextConfig|_ThreadID=10;|Missing application web.xml, using defaults only StandardEngine[server].StandardHost[server].StandardContext[]|#]
    [#|2004-12-20T16:47:12.203+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Initializing Coyote HTTP/1.1 on port 8080|#]
    [#|2004-12-20T16:47:12.234+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Starting Coyote HTTP/1.1 on port 8080|#]
    [#|2004-12-20T16:47:12.375+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Initializing Coyote HTTP/1.1 on port 1043|#]
    [#|2004-12-20T16:47:12.375+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Starting Coyote HTTP/1.1 on port 1043|#]
    [#|2004-12-20T16:47:12.421+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Initializing Coyote HTTP/1.1 on port 4848|#]
    [#|2004-12-20T16:47:12.421+0530|INFO|sun-appserver-pe8.0.0_01|org.apache.coyote.http11.Http11Protocol|_ThreadID=10;|Starting Coyote HTTP/1.1 on port 4848|#]
    [#|2004-12-20T16:47:12.609+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.resource.jms|_ThreadID=10;|JMS5023: JMS service successfully started. Instance Name = imqbroker, Home = [d:\servers\Sun\AppServer\imq\bin].|#]
    [#|2004-12-20T16:47:12.609+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=10;|[AutoDeploy] Enabling AutoDeployment service at :1103541432609|#]
    [#|2004-12-20T16:47:12.609+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|CORE5053: Application onReady complete.|#]
    [#|2004-12-20T16:47:12.609+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core|_ThreadID=10;|Application server startup complete.|#]
    [#|2004-12-20T16:47:33.734+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=11;|WebModule[/asadmin]WARNING: No 'dtdURLBase' init parameter defined in Servlet config!|#]
    [#|2004-12-20T16:48:11.453+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|DPL5109: EJBC - START of EJBC for [Sample_CMP]|#]
    [#|2004-12-20T16:48:27.953+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|Processing beans ...|#]
    [#|2004-12-20T16:48:28.281+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|Compiling RMI-IIOP code ...|#]
    [#|2004-12-20T16:48:46.671+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|DPL5110: EJBC - END of EJBC for [Sample_CMP]|#]
    [#|2004-12-20T16:48:48.109+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|Total Deployment Time: 41359 msec, Total EJB Compiler Module Time: 35218 msec, Portion spent EJB Compiling: 85%
    Breakdown of EJBC Module Time: Total Time for EJBC: 35218 msec, CMP Generation: 5047 msec (14%), Java Compilation: 11344 msec (32%), RMI Compilation: 18375 msec (52%), JAX-RPC Generation: 47 msec (0%),
    |#]
    [#|2004-12-20T16:48:48.125+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.deployment|_ThreadID=12;|deployed with moduleid = Sample_CMP|#]
    [#|2004-12-20T16:48:48.531+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1041:Sent the event to instance:[ApplicationDeployEvent -- deploy Sample_CMP]|#]
    [#|2004-12-20T16:48:54.515+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.core.classloading|_ThreadID=12;|LDR5010: All ejb(s) of [Sample_CMP] loaded successfully!|#]
    [#|2004-12-20T16:48:54.546+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=12;|WEB0100: Loading web module [Sample_CMP:employee.war] in virtual server [server] at [Module]|#]
    [#|2004-12-20T16:48:56.000+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.web|_ThreadID=12;|WEB0100: Loading web module [Sample_CMP:web.war] in virtual server [server] at [TestServer]|#]
    [#|2004-12-20T16:48:57.187+0530|INFO|sun-appserver-pe8.0.0_01|javax.enterprise.system.tools.admin|_ThreadID=12;|ADM1042:Status of dynamic reconfiguration event processing:[success]|#]
    [#|2004-12-20T16:49:43.890+0530|SEVERE|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|RAR5027:Unexpected exception in resource pooling
    java.lang.NullPointerException
         at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
         at com.sun.jts.jta.TransactionState.startAssociation(TransactionState.java:238)
         at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:173)
         at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:360)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.enlistResource(J2EETransactionManagerImpl.java:303)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:115)
         at com.sun.enterprise.resource.SystemResourceManagerImpl.enlistResource(SystemResourceManagerImpl.java:69)
         at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:140)
         at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:205)
         at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:94)
         at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:68)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.TransactionHelperImpl.getConnection(TransactionHelperImpl.java:181)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getConnection(EJBHelper.java:166)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getConnection(SQLPersistenceManagerFactory.java:886)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:851)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:780)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:667)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.jdoGetPersistenceManager(ItemEJB1437418622_ConcreteImpl.java:594)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.ejbFindAll(ItemEJB1437418622_ConcreteImpl.java:308)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:146)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:930)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:151)
         at com.sun.ejb.containers.EJBHomeInvocationHandler.invoke(EJBHomeInvocationHandler.java:179)
         at $Proxy108.findAll(Unknown Source)
         at com.test.orders.itement.ejb._ItemEntHome_Stub.findAll(Unknown Source)
         at com.test.webbeans.ProcessListBean.getItemsList(ProcessListBean.java:166)
         at org.apache.jsp.new_005forder_jsp._jspService(new_005forder_jsp.java:222)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:236)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:141)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:214)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:168)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:133)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:539)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:114)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:166)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:936)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:165)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:683)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:604)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:542)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:647)
         at java.lang.Thread.run(Thread.java:534)
    |#]
    [#|2004-12-20T16:49:44.000+0530|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|RAR5117 : Failed to obtain/create connection. Reason : java.lang.NullPointerException|#]
    [#|2004-12-20T16:49:44.000+0530|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|RAR5114 : Error allocating connection : [Error in allocating a connection. Cause: java.lang.NullPointerException]|#]
    [#|2004-12-20T16:49:44.000+0530|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.jdo.persistencemanager|_ThreadID=13;|JDO76520: Errors while obtaining information about the database. Got the following exception:
    java.sql.SQLException: Error in allocating a connection. Cause: java.lang.NullPointerException
         at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:72)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.TransactionHelperImpl.getConnection(TransactionHelperImpl.java:181)
         at com.sun.jdo.spi.persistence.support.sqlstore.ejb.EJBHelper.getConnection(EJBHelper.java:166)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getConnection(SQLPersistenceManagerFactory.java:886)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:851)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:780)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:667)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.jdoGetPersistenceManager(ItemEJB1437418622_ConcreteImpl.java:594)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.ejbFindAll(ItemEJB1437418622_ConcreteImpl.java:308)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:146)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:930)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:151)
         at com.sun.ejb.containers.EJBHomeInvocationHandler.invoke(EJBHomeInvocationHandler.java:179)
         at $Proxy108.findAll(Unknown Source)
         at com.test.orders.itement.ejb._ItemEntHome_Stub.findAll(Unknown Source)
         at com.test.webbeans.ProcessListBean.getItemsList(ProcessListBean.java:166)
         at org.apache.jsp.new_005forder_jsp._jspService(new_005forder_jsp.java:222)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:236)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:141)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:214)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:168)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:133)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:539)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.web.VirtualServerValve.invoke(VirtualServerValve.java:209)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:114)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at com.sun.enterprise.web.VirtualServerMappingValve.invoke(VirtualServerMappingValve.java:166)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:936)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:165)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:683)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:604)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:542)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:647)
         at java.lang.Thread.run(Thread.java:534)
    |#]
    [#|2004-12-20T16:49:44.093+0530|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.container.ejb.entity.finder|_ThreadID=13;|JDO74010: Bean 'ItemEnt' method ejbFindAll: problems running JDOQL query.
    com.sun.jdo.api.persistence.support.JDOFatalInternalException: JDO76519: Failed to identify vendor type for the data store.
    NestedException: java.sql.SQLException: Error in allocating a connection. Cause: java.lang.NullPointerException
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.initializeSQLStoreManager(SQLPersistenceManagerFactory.java:864)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getFromPool(SQLPersistenceManagerFactory.java:780)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.SQLPersistenceManagerFactory.getPersistenceManager(SQLPersistenceManagerFactory.java:667)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:849)
         at com.sun.jdo.spi.persistence.support.sqlstore.impl.PersistenceManagerFactoryImpl.getPersistenceManager(PersistenceManagerFactoryImpl.java:681)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.jdoGetPersistenceManager(ItemEJB1437418622_ConcreteImpl.java:594)
         at com.test.orders.itement.ejb.ItemEJB1437418622_ConcreteImpl.ejbFindAll(ItemEJB1437418622_ConcreteImpl.java:308)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at com.sun.enterprise.security.SecurityUtil$2.run(SecurityUtil.java:146)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sun.enterprise.security.application.EJBSecurityManager.doAsPrivileged(EJBSecurityManager.java:930)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:151)
         at com.sun.ejb.containers.EJBHomeInvocationHandler.invoke(EJBHomeInvocationHandler.java:179)
         at $Proxy108.findAll(Unknown Source)
         at com.test.orders.itement.ejb._ItemEntHome_Stub.findAll(Unknown Source)
         at com.test.webbeans.ProcessListBean.getItemsList(ProcessListBean.java:166)
         at org.apache.jsp.new_005forder_jsp._jspService(new_005forder_jsp.java:222)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:102)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:282)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:263)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:210)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:861)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:246)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
         at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:268)
         at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:236)
         at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
         at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:145)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:141)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:214)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:168)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:522)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:144)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:109)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:133)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:539)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.webservice.EjbWebServiceValve.invoke(EjbWebServiceValve.java:134)
         at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:107)
         at com.sun.enterprise.security.web.SingleSignOn.invoke(SingleSignOn.java:254)
         at org.apache.catalina.core.StandardValveContext.invokeNext(

  • Transactional error when using JMS from stateless session bean

    I get a transaction exception when committing a bean method responsible for sending to a JMS topic. This happens only occasionally when two separate threads invoke this method "at the same time".
    The scenario:
    Two separate threads running two different instances of a stateless session bean (slsb A). This ejb (slsb A) has an injected slsb B which is communicating with the the topic.
    Both instances of slsb A are utilising the same instance of slsb B.
    The CMT transactions for the two threads start in slsb A from methods with transaction attribute "RequiresNew". All nested methods are to other slsbs and have the transaction attribute "Required". The method in slsb B which sends the message is closing both the session and the connection to the topic.
    I'm running Glassfish version 9.1_02 (build b04-fcs) and JMS implementation OpenMQ version 4.1.
    Stacktrace (glassfish log):
    [#|2008-09-09T13:00:40.515+0200|SEVERE|sun-appserver9.1|javax.resourceadapter.mqjmsra.outbound.connection|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=108e8418-71a6-4d8b-a94d-9e1edc885891;|commitTransaction (XA) on JMSService:jmsdirect failed for connectionId:5754505514139844608 and onePhase:false due to unkown JMSService server error.|#]
    [#|2008-09-09T13:00:40.515+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.core.transaction|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe;commit;_RequestID=108e8418-71a6-4d8b-a94d-9e1edc885891;|JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation.|#]
    [#|2008-09-09T13:00:40.531+0200|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;SubscriptionBean;|EJB5018: An exception was thrown during an ejb invocation on [SubscriptionBean]|#]
    [#|2008-09-09T13:00:40.531+0200|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;|
    javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation. vmcid: 0x0 minor code: 0 completed: No
    javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation. vmcid: 0x0 minor code: 0 completed: No
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3585)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
         at $Proxy130.requestNewSubscription(Unknown Source)
         at com.abeldrm.kms.core.services.subscription.SubscriptionWSBean.requestNewSubscription(SubscriptionWSBean.java:94)
         at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
         at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:189)
         at $Proxy129.requestNewSubscription(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:81)
         at com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
         at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:329)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:226)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:155)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    IMQ broker log:
    [09/Sep/2008:13:00:40 CEST] ERROR CommitTransaction: commit failed. Connection ID: 5754505514139844608, Transaction ID: 0:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: Unknown Transaction 0
         at com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.commitTransaction(ProtocolImpl.java:630)
         at com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.commitTransaction(IMQDirectService.java:1735)
         at com.sun.messaging.jms.ra.DirectXAResource.commit(DirectXAResource.java:201)
         at com.sun.jts.jtsxa.OTSResourceImpl.commit(OTSResourceImpl.java:114)
         at com.sun.jts.CosTransactions.RegisteredResources.distributeCommit(RegisteredResources.java:795)
         at com.sun.jts.CosTransactions.TopCoordinator.commit(TopCoordinator.java:2111)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:403)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:249)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3585)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
         at $Proxy130.requestNewSubscription(Unknown Source)
         at com.abeldrm.kms.core.services.subscription.SubscriptionWSBean.requestNewSubscription(SubscriptionWSBean.java:94)
         at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
         at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:189)
         at $Proxy129.requestNewSubscription(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:81)
         at com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
         at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:329)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:226)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:155)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Have anyone any idea why this should fail?
    Regards,
    Jon

    I would suggest opening a case with [email protected] FWIW, I recall seeing
              something like this in WLS 6.0. I believe it is fixed in WLS 6.1
              -- Rob
              Chris Dupuy wrote:
              > Btw, this occurs when I create an stateful session bean that ends up
              > throwing an exception and setRollbackOnly() is called. From that point
              > forward, my logs fill with this message.
              >
              > Chris
              >
              > "Chris Dupuy" <[email protected]> wrote in message
              > news:[email protected]..
              > > anyone know what this means, and what you can do about it?
              > >
              > >
              > > <Error> <ConnectionManager> <atossd03> <cbeyondServer> <ExecuteThread:
              > '14'
              > > for queue: 'd
              > > efault'> <> <> <000000> <Closing:
              > 'weblogic.rjvm.t3.T3JVMConnection@488831'
              > > because of: 'Server received a message over an uniniti
              > > alized connection: 'JVMMessage from: 'null' to:
              > >
              > '5825313123619479267S:10.6.6.40:[8000,8000,8001,8001,8000,8001,-1]:cbeyond:c
              > > beyond
              > > Server' cmd: 'CMD_REQUEST', QOS: '101', responseId: '2', invokableId: '1',
              > > flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev o
              > > ffset: '204'''>
              > >
              > >
              > >
              

  • FatalDataStoreException: null

    Hello,
    I have a session bean which simply loops over an extent and then updates
    all the objects.
    I deploy the session bean on a SunAS 8.1. when I run the bean as BMT and
    get the UserTransaction manually from the AS I have no problem what so
    ever.
    However if I use CMT then I get the following exception on commit time:
    Can you help me, do you have an idea what problems may cause this
    exception?
    kodo.util.FatalDataStoreException: null
    at
    kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:977)
    at
    com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
    at
    com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
    at
    com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
    at
    com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
    at
    com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
    at
    com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
    at
    com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    NestedThrowablesStackTrace:
    com.sun.enterprise.InvocationException
    at
    com.sun.enterprise.resource.ResourceManagerImpl.getTransaction(ResourceManagerImpl.java:41)
    at
    com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:141)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:268)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:147)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
    at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
    at
    com.solarmetric.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:122)
    at
    com.solarmetric.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:73)
    at
    kodo.jdbc.runtime.JDBCStoreManager.connectInternal(JDBCStoreManager.java:906)
    at
    kodo.jdbc.runtime.JDBCStoreManager.connect(JDBCStoreManager.java:884)
    at
    kodo.jdbc.runtime.JDBCStoreManager.retainConnection(JDBCStoreManager.java:189)
    at
    kodo.jdbc.runtime.JDBCStoreManager.begin(JDBCStoreManager.java:114)
    at
    kodo.runtime.DelegatingStoreManager.begin(DelegatingStoreManager.java:95)
    at
    kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1106)
    at
    kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1038)
    at
    kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:965)
    at
    com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
    at
    com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
    at
    com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
    at
    com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
    at
    com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
    at
    com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
    at
    com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    |#]
    [#|2005-05-31T12:17:33.856+0200|FINE|sun-appserver-pe8.1_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|Pool:
    transactionCompleted: 1|#]
    [#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|EJB5018:
    An exception was thrown during an ejb invocation on [VorderingManager]|#]
    [#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|
    javax.ejb.EJBException: Transaction aborted; nested exception is:
    javax.transaction.RollbackException
    javax.transaction.RollbackException
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:256)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    javax.ejb.EJBException: Transaction aborted; nested exception is:
    javax.transaction.RollbackException
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2737)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)

    For what it's worth, PM.flush() is standardized in JDO2, so it will be
    an official API in the near future.
    -Patrick
    Niels Soeffers wrote:
    Hello,
    Your workaround is succesfull, It works when I cast to
    KodoPersistenceManager. However I would like to stick to the JDO standard
    API. Is there any other way I can work around this problem using the
    standard JDO API? (I already tried to do a makePersistent call on my
    modified object but this won't work).
    Thanks in advance,
    Kind Regards,
    Niels Soeffers
    Stephen Kim wrote:
    Does this problem persist if you call KodoPersistenceManager.flush ()
    before the end of your bean method?
    Niels Soeffers wrote:
    Hello,
    I have a session bean which simply loops over an extent and then updates
    all the objects.
    I deploy the session bean on a SunAS 8.1. when I run the bean as BMT and
    get the UserTransaction manually from the AS I have no problem what so
    ever.
    However if I use CMT then I get the following exception on commit time:
    Can you help me, do you have an idea what problems may cause this
    exception?
    kodo.util.FatalDataStoreException: null
    at
    kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:977)
    at
    com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
    at
    com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
    at
    com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
    at
    com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
    at
    com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
    at
    com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
    at
    com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    NestedThrowablesStackTrace:
    com.sun.enterprise.InvocationException
    at
    com.sun.enterprise.resource.ResourceManagerImpl.getTransaction(ResourceManagerImpl.java:41)
    at
    com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:141)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:268)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:147)
    at
    com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
    at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
    at
    com.solarmetric.jdbc.DelegatingDataSource.getConnection(DelegatingDataSource.java:122)
    at
    com.solarmetric.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:73)
    at
    kodo.jdbc.runtime.JDBCStoreManager.connectInternal(JDBCStoreManager.java:906)
    at
    kodo.jdbc.runtime.JDBCStoreManager.connect(JDBCStoreManager.java:884)
    at
    kodo.jdbc.runtime.JDBCStoreManager.retainConnection(JDBCStoreManager.java:189)
    at
    kodo.jdbc.runtime.JDBCStoreManager.begin(JDBCStoreManager.java:114)
    at
    kodo.runtime.DelegatingStoreManager.begin(DelegatingStoreManager.java:95)
    at
    kodo.runtime.PersistenceManagerImpl.flush(PersistenceManagerImpl.java:1106)
    at
    kodo.runtime.PersistenceManagerImpl.flushSafe(PersistenceManagerImpl.java:1038)
    at
    kodo.runtime.PersistenceManagerImpl.beforeCompletion(PersistenceManagerImpl.java:965)
    at
    com.sun.ejb.containers.ContainerSynchronization.beforeCompletion(ContainerSynchronization.java:137)
    at
    com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:56)
    at
    com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
    at
    com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2483)
    at
    com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:240)
    at
    com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:211)
    at
    com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:585)
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:254)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    |#]
    [#|2005-05-31T12:17:33.856+0200|FINE|sun-appserver-pe8.1_01|javax.enterprise.resource.resourceadapter|_ThreadID=13;|Pool:
    transactionCompleted: 1|#]
    [#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|EJB5018:
    An exception was thrown during an ejb invocation on [VorderingManager]|#]
    [#|2005-05-31T12:17:33.856+0200|INFO|sun-appserver-pe8.1_01|javax.enterprise.system.container.ejb|_ThreadID=13;|
    javax.ejb.EJBException: Transaction aborted; nested exception is:
    javax.transaction.RollbackException
    javax.transaction.RollbackException
    at
    com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:256)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:918)
    at
    com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:362)
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2732)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    javax.ejb.EJBException: Transaction aborted; nested exception is:
    javax.transaction.RollbackException
    at
    com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:2737)
    at
    com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:2521)
    at
    com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:819)
    at
    com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:137)
    at $Proxy20.calculateBijdrages(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
    com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:123)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:648)
    at
    com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:192)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1709)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1569)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:951)>
    at
    com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at
    com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:721)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
    at
    com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1262)
    at
    com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:409)
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Setting XA DataSource on Sun Java Appliation Server 8.1 enterprise with MyS

    Hi everyone,
    I am developing a J2EE application that requires to query data from 2 different MySQL catalogs using CMP EJB. I am using MySQL JDBC Connector/J 5.0.4 (currently latest), and deployment server is Sun Java Appliation Server 8.1 enterprise edition.Everything worked perfectly till I started to query both datasources in a single transaction. For a case when both datasources are configured as follows:
    Resource Type: javax.sql.XADataSource
    DataSource Classname: com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
    I get the following exeption:
    [#|2007-01-18T13:21:41.445+0100|SEVERE|sun-appserver-ee8.1|javax.enterprise.resource.resourceadapter|_ThreadID=15;|RAR5027:Unexpected exception in resource pooling
    java.lang.IllegalStateException: Local transaction already has 1 non-XA Resource: cannot add more resources.
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.enlistResource(J2EETransactionManagerOpt.java:98)
    at com.sun.enterprise.resource.SystemResourceManagerImpl.enlistResource(SystemResourceManagerImpl.java:69)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:176)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:258)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:147)
    at com.sun.enterprise.connectors.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:122)
    at com.sun.gjc.spi.DataSource.getConnection(DataSource.java:70)
    If I change DataSource Classname to "com.mysql.jdbc.jdbc2.optional.MysqlXADataSource" I get the following exeption as soon as I deploy application:
    [#|2007-01-18T12:23:47.151+0100|WARNING|sun-appserver-ee8.1|javax.enterprise.system.core.transaction|_ThreadID=12;|JTS5041: The resource manager is doing work outside a global transaction
    com.mysql.jdbc.jdbc2.optional.MysqlXAException: XAER_OUTSIDE: Some work is done outside global transaction
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:562)
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:545)
    at com.mysql.jdbc.jdbc2.optional.MysqlXAConnection.start(MysqlXAConnection.java:485)
    at com.sun.gjc.spi.XAResourceImpl.start(XAResourceImpl.java:162)
    at com.sun.jts.jta.TransactionState.startAssociation(TransactionState.java:258)
    at com.sun.jts.jta.TransactionImpl.enlistResource(TransactionImpl.java:181)
    at com.sun.enterprise.distributedtx.J2EETransaction.enlistResource(J2EETransaction.java:397)
    The tricky part is that the method that involves both datasources is actualy ejbTimeout and it has "RequiresNew" transaction option.
    Any help is appriciated. I can provide more info if necessary.
    Thanks in advance
    Amir

    I think this is the MySQL JDBC driver bug. They claim that the 5.0 version of JDBC driver supports distributed transactions (XA)
    http://dev.mysql.com/doc/refman/5.0/en/connector-j-versions.html
    However it is not tested on Sun AS. Is there anyone who succeeded to execute distributed transaction on Sun Java Appliation Server 8.1 enterprise with MySQL database?

  • Cannot start a global transaction. A LocalTransactionContainment is already

    Getting 'javax.transaction.NotSupportedException: java.lang.IllegalStateException: Cannot start a global transaction. A LocalTransactionContainment is already active with work.' while running the following code using XA datasource.
    Setup: WAS 5.0.2, TopLink 9.0.4.4, Oracle JDBC Driver (XA), Oralce9i database flatform, using external transaction controller.
    Code:
    SessionManager sm = SessionManager.getManager();
    Server serverSession = (Server)sm.getSession("PersistenceUnitTest");
    ClientSession clientSession = serverSession.acquireClientSession();
    int key = 1003;
    Customer customerPK = new Customer();
    customerPK.setId(new Integer(key));
    ReadObjectQuery query =
    new ReadObjectQuery(customerPK.getClass());
    query.setSelectionKey(clientSession.keyFromObject(customerPK));
    Customer customer = null;
    try {
    customer = (Customer)clientSession.executeQuery(query);
    } catch (Exception e) {
    clientSession.release();
    InitialContext ctx = new InitialContext();
    UserTransaction userTxn = (UserTransaction) ctx.lookup("java:comp/UserTransaction");
    try {
    userTxn.begin();
    userTxn.rollback();
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    clientSession.release();
    Trace:
    2005.03.14 01:04:57.452--ServerSession(863114877)--Thread[Servlet.Engine.Transports : 0,5,main]--client acquired
    2005.03.14 01:04:57.462--ServerSession(863114877)--Thread[Servlet.Engine.Transports : 0,5,main]--Connection(1731483245)--SELECT PERSON_TYPE, ID, GENDER, VERSION, LAST_NAME, FIRST_NAME, MIDDLE_INITIAL, HOME_ADDRESS_ID, PREFERRED_CUSTOMER, DISCOUNT_RATE, CONTACT_NUMBER, WORK_ADDRESS_ID FROM USER04.PERSON WHERE ((ID = ?) AND (PERSON_TYPE = ?))
         bind => [1003, C]
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R javax.transaction.NotSupportedException: java.lang.IllegalStateException: Cannot start a global transaction. A LocalTransactionContainment is already active with work.
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at com.ibm.ejs.jts.jta.UserTransactionImpl.begin(UserTransactionImpl.java:173)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at com.ford.it.persistence.impl.toplink.unittest.GlobalTransactionTest.testXA(GlobalTransactionTest.java:808)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at java.lang.reflect.Method.invoke(Native Method)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at junit.framework.TestCase.runTest(TestCase.java:154)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at junit.framework.TestCase.runBare(TestCase.java:127)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.ServletTestCase.runCactusTest(ServletTestCase.java:295)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.ServletTestCase.runBare(ServletTestCase.java:263)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.AbstractWebTestCaller.doTest(AbstractWebTestCaller.java:156)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.AbstractWebTestController.handleRequest_aroundBody0(AbstractWebTestController.java:130)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.AbstractWebTestController.handleRequest_aroundBody1$advice(AbstractWebTestController.java:158)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.AbstractWebTestController.handleRequest(AbstractWebTestController.java)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(ServletTestRedirector.java:138)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(ServletTestRedirector.java:158)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doPost(ServletTestRedirector.java)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(ServletTestRedirector.java:109)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(ServletTestRedirector.java:158)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at org.apache.cactus.server.ServletTestRedirector.doGet(ServletTestRedirector.java)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    [3/14/05 13:04:57:502 EST] 17d31642 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:948)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:530)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:610)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:431)
    [3/14/05 13:04:57:512 EST] 17d31642 SystemErr R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
    [3/14/05 13:04:57:492 EST] 17d31642 LocalTransact E WLTC0018E: Cannot begin a LocalTransactionContainment. A LocalTransactionContainment is already active.
    2005.03.14 01:04:57.512--ClientSession(1258968685)--Thread[Servlet.Engine.Transports : 0,5,main]--client released
    If we perform a query on a thread and then subsequently start a UserTransaction, we get the above failure on the begin() method of the UserTransaction
    Did anyone experience this before? Your inputs/comments are greatly appreciated.
    Haiwei

    James, thanks very much for your response.
    I hope you did not mis-understand my previous posts in this thread.
    In the example I provided, the database query was outside the UserTransaction. I could successfully perform rollback on an XA db connection after the query was executed. The rollback call cleans up the resources used in the local transaction that was created for the query; thus allows the UserTransaction to start following the query.
    The local transaction was created for the query because autoCommit property was false for XA datasource connections. If I set autoCommit to true after getting the connection from XA datasource, the query will finish with the commit of the local transaction that's created for the query. The WAS code appears to work correctly.
    If using non-XA datasource, the local transaction created for the query will be committed because the autoCommit is default to true for the non-XA connections.
    While using TopLink, there seems to be two options for solving my problem (which was stated at the begining of this thread):
    1) after the execution of a TopLink query, trap the connection.close() event and call the connection.rollback() before closing the connection to clean up the resources used in the local transaction; or
    2) trap the getConnection() event, and call conneciton.setAutoCommit(true) on the connection if the query is not part of the TopLink transaction or UserTransaction.
    I studied and experimented with the TopLink code. Option 1) is not do-able. After the execution of a TopLink qeury, TopLink's PreReleaseConnection event does not contain the connection that was used in the query. The connection was closed in the executeCall method of DatabaseAccessor.
    The postConnect event seems to provide some possibility of implementing option 2). However, when TopLink executes a query (at least, the ReadObjectQuery that I used in my testing), after getting a connection from DatabaseLogin, the executeCall method in DatabaseAccessoor never triggers the postConnect event.
    I posted a seperate note on the issue. Here is the link: postConnect event .
    or use a non-JTA DataSource for the TopLink session read login.<We use WAS connection pooling. Did you mean using non-XA datasource for TopLik read?
    your own TopLink ExternalConnectionPool subclass to workaround the issue<Could you elaborate the details? Or where can I find more information on the technique?
    Your help would be greatly appreciated.
    Haiwei
    Haiwei

  • Propagating User Transactions

    Hi,
    I am trying to check how user transactions work in context of the OC4j Containers.
    I have deployed a Stateless Session Bean in the 'standalone' OC4J container of JDev10.1.3. I then exposed the EJB as a WebService.
    Next, I wrote a client and am running it in the 'embedded' OC4J container of JDev 10.1.3. From this client, I am trying to invoke the bean methods as WebService calls. Below is my client code:
    <code>
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/");
    env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    Context context = new InitialContext(env);
    ut = (UserTransaction) context.lookup("java:comp/UserTransaction");
    ut.begin();
    // call bean methods.
    ut.commit();
    </code>
    However, I am not able to look up the JNDI Name for UserTransaction in the embedded OC4J. I tried both "java:comp/UserTransaction" and "jta/usertransaction".
    Could somebody please let me know how to lookup the User Transaction from the Context in OC4J?
    Also, I read somewhere that UserTransactions (begin .. method .. commit/rollback) is not supported in OC4J unless the EJB are running in the same container? Is this true? In which case, my above test scenario would never work, is it?
    Many thanks in Advance.
    Regards,
    Pratul

    Hi Katalin!
    Thanks a lot for your reply.
    You are right. The port 23891 is the correct port for ORMI for embedded OC4J.
    Actually, I was trying to execute the client as a standalone Java class (public static void main() ). I eventually moved my client code to a JSP and was able to retrieve the UserTransaction object using "java:comp/UserTransaction".
    I found this strange since I have tested transaction boundaries in a similar fashion using WSAD and it worked just fine. The only reason I could think of was that the classloader in JDeveloper was not able to load the complete environment implementations of the transactions, before the lookup call is made from my code.
    However, now after having moved my client code into a JSP, the UserTransaction object retrieved is "com.sun.enterprise.distributedtx.UserTransactionImpl".
    And when I invoke the begin() method on this transaction object, I get a NullPointerException. :((
    06/10/03 15:31:07 java.lang.NullPointerException
    06/10/03 15:31:07      at com.sun.jts.jta.TransactionManagerImpl.begin(TransactionManagerImpl.java:171)
    06/10/03 15:31:07      at com.sun.jts.jta.UserTransactionImpl.begin(UserTransactionImpl.java:50)
    06/10/03 15:31:07      at com.sun.enterprise.distributedtx.UserTransactionImpl.begin(UserTransactionImpl.java:66)
    Does anybody have any idea why that particular reference of the UserTransaction object is returned? Is it because of any extra/missing jar files in the classpath? Why a NullPointerException , even when the object itself is not null ?
    Please help !!
    Thanks,
    Pratul

  • Kodo JCA in WebSphere 5.1

    Hello!
    I am packaging the Kodo 3.2.2 JCA RAR inside my EAR and deploy it to
    WebSphere 5.1.0. During the first use of JDO in my application, Kodo
    wants to find the application servers Transaction Manager to integrate
    with the J2EE transaction. While this obviously works in WebSphere
    Application Server 5.0, Kodo fails to "guess" the TransactionManager in
    5.1.0. The output I get is:
    ==========
    java.rmi.RemoteException: ; nested exception is:
         kodo.util.FatalInternalException: Could not perform automatic
    lookup of EJB container's javax.transaction.TransactionManager
    implementation. Please ensure that you are running the application from
    within an EJB 1.1 compliant EJB container, and then set the
    kodo.ManagedRuntime property to the appropriate value to obtain the
    TransactionManager.
    NestedThrowables:
    javax.naming.NameNotFoundException: Context:
    bes724/nodes/bes724/servers/server1, name:
    javax.transaction.TransactionManager: First component in name
    javax.transaction.TransactionManager not found. [Root exception is
    org.omg.CosNaming.NamingContextPackage.NotFound:
    IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name comp/pm not found in context
    "java:".
    javax.naming.NameNotFoundException: Name "comp/TransactionManager" not
    found in context "java:".
    javax.naming.NameNotFoundException: Name pm not found in context "java:".
    java.lang.ClassNotFoundException: com.arjuna.jta.JTA_TransactionManager
    java.lang.ClassNotFoundException:
    com.bluestone.jta.SaTransactionManagerFactory
    java.lang.ClassNotFoundException: com.ibm.ejs.jts.jta.JTSXA
    java.lang.ClassNotFoundException:
    com.ibm.ejs.jts.jta.TransactionManagerFactory
    java.lang.ClassNotFoundException: org.openejb.OpenEJB
    java.lang.ClassNotFoundException: com.sun.jts.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException:
    com.inprise.visitransact.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException: com.sun.enterprise.Switch
         at
    com.ibm.ejs.container.RemoteExceptionMappingStrategy.setUncheckedExceptio
    n(RemoteExceptionMappingStrategy.java:196)
         at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedException
    (EJSDeployedSupport.java:296)
    ==========
    My ManagedRuntime property still defaults to "auto".
    What is going on here? Has IBM changed the class/package that implements
    the TransactionManager?
    I have seen that a class com.ibm.ws.Transaction.TransactionManagerFactory
    exists. Should I implement kodo.ee.ManagedRuntime as a wrapper of the
    com.ibm.ws.Transaction.TransactionManagerFactory and name my
    implementation in the ManagedRuntime property?
    If anyone has done such a thing before, I'd be happy to have an
    example...
    Thanks in advance for any help!
    Carsten

    This is odd as we have tested against 5.1.
    Can you try sett the ManagedRuntime property explicitly to:
    invocation("TransactionManagerMethod=com.ibm.ws.Transaction.TransactionManagerFactory.getTransactionManager")
    Are you running in any non-standard environment (i.e. inside WSAD or
    something)?
    Carsten Jahn wrote:
    Hello!
    I am packaging the Kodo 3.2.2 JCA RAR inside my EAR and deploy it to
    WebSphere 5.1.0. During the first use of JDO in my application, Kodo
    wants to find the application servers Transaction Manager to integrate
    with the J2EE transaction. While this obviously works in WebSphere
    Application Server 5.0, Kodo fails to "guess" the TransactionManager in
    5.1.0. The output I get is:
    ==========
    java.rmi.RemoteException: ; nested exception is:
         kodo.util.FatalInternalException: Could not perform automatic
    lookup of EJB container's javax.transaction.TransactionManager
    implementation. Please ensure that you are running the application from
    within an EJB 1.1 compliant EJB container, and then set the
    kodo.ManagedRuntime property to the appropriate value to obtain the
    TransactionManager.
    NestedThrowables:
    javax.naming.NameNotFoundException: Context:
    bes724/nodes/bes724/servers/server1, name:
    javax.transaction.TransactionManager: First component in name
    javax.transaction.TransactionManager not found. [Root exception is
    org.omg.CosNaming.NamingContextPackage.NotFound:
    IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name not found in context "java:".
    javax.naming.NameNotFoundException: Name comp/pm not found in context
    "java:".
    javax.naming.NameNotFoundException: Name "comp/TransactionManager" not
    found in context "java:".
    javax.naming.NameNotFoundException: Name pm not found in context "java:".
    java.lang.ClassNotFoundException: com.arjuna.jta.JTA_TransactionManager
    java.lang.ClassNotFoundException:
    com.bluestone.jta.SaTransactionManagerFactory
    java.lang.ClassNotFoundException: com.ibm.ejs.jts.jta.JTSXA
    java.lang.ClassNotFoundException:
    com.ibm.ejs.jts.jta.TransactionManagerFactory
    java.lang.ClassNotFoundException: org.openejb.OpenEJB
    java.lang.ClassNotFoundException: com.sun.jts.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException:
    com.inprise.visitransact.jta.TransactionManagerImpl
    java.lang.ClassNotFoundException: com.sun.enterprise.Switch
         at
    com.ibm.ejs.container.RemoteExceptionMappingStrategy.setUncheckedExceptio
    n(RemoteExceptionMappingStrategy.java:196)
         at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedException
    (EJSDeployedSupport.java:296)
    ==========
    My ManagedRuntime property still defaults to "auto".
    What is going on here? Has IBM changed the class/package that implements
    the TransactionManager?
    I have seen that a class com.ibm.ws.Transaction.TransactionManagerFactory
    exists. Should I implement kodo.ee.ManagedRuntime as a wrapper of the
    com.ibm.ws.Transaction.TransactionManagerFactory and name my
    implementation in the ManagedRuntime property?
    If anyone has done such a thing before, I'd be happy to have an
    example...
    Thanks in advance for any help!
    Carsten--
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • ManagedConnection.cleanup called before XAResource.end

    I am the developer for a JCA 1.5 resource adapter named DTPRA. Note that DTPRA works with WebSphere Application Server, WebLogic Application Server and JBoss Application Server.
    I have never tested DTPRA with the Sun App Server, so I downloaded Sun Java System Application Server Enterprise Edition 8.2 (build b25-fcs) to test DTPRA.
    After overcoming a number of other issues, I encountered a problem which has me stalled at this point.
    I tried a simple transaction request. At the end of the �active� phase of processing, the App Server called the ManagedConnection.cleanup method prior to calling to the XAResource.end method. When the XAResource.end method was called later, DTPRA threw the exception because the state was wrong (the managed connection was no longer involved in a transaction). Here is an excerpt from the DTPRA trace:
    06/27/07 13:27:32.340  RA=dtpra        TYPE=FINER   THD=0084e723-service-j2ee       
    DtpInteraction.execute: returning from execute a value of true
    DtpConnection.destroyInteraction: Entering method
    DtpConnection.close: Entering method close (for connectioncom.unisys.dtp.connector.DtpConnection@557c15)
    DtpConnection.closeConnection: no interactions to close
    DtpConnection.closeConnection: connection com.unisys.dtp.connector.DtpConnection@557c15 no longer active
    DtpManagedConnection.fireConnectionClosedEvent: Firing Connection closed event; 1 listeners() registered
    DtpManagedConnection.cleanup: Entering method
    06/27/07 13:27:32.340  RA=dtpra        TYPE=FINE    THD=0084e723-service-j2ee       
    DtpManagedConnection.cleanup: Clean Up Request: 1 connection(s) active
    06/27/07 13:27:32.340  RA=dtpra        TYPE=FINER   THD=0084e723-service-j2ee       
    DtpManagedConnection.cleanup: ManagedConnection cleanup successful
    DtpXAResource.end: xa_end called flags = TMSUCCESS (0x4000000)
    06/27/07 13:27:32.340  RA=dtpra        TYPE=FINEST  THD=0084e723-service-j2ee       
    DtpResourceAdapter.createXid: txHelper is null...
    06/27/07 13:27:32.340  RA=dtpra        TYPE=SEVERE  THD=0084e723-service-j2ee       
    DtpManagedConnection.transactionCompleted: Throwing exception.
    javax.resource.spi.IllegalStateException: XA_END Received but ManagedConnection not currently participating in transaction, error code: NO_TRANS
          at com.unisys.dtp.connector.DtpManagedConnection.transactionCompleted(DtpManagedConnection.java:1014)
          at com.unisys.dtp.connector.DtpXAResource.end(DtpXAResource.java:160)
          at com.sun.jts.jta.TransactionState.beforeCompletion(TransactionState.java:125)
          at com.sun.jts.jta.SynchronizationImpl.before_completion(SynchronizationImpl.java:62)
          at com.sun.jts.CosTransactions.RegisteredSyncs.distributeBefore(RegisteredSyncs.java:120)
          at com.sun.jts.CosTransactions.TopCoordinator.beforeCompletion(TopCoordinator.java:2491) The Sun App Server behavior looks incorrect to me. I reviewed the JCA 1.5 spec (page 6-43 shows a nice diagram), and it looks like the App Server is supposed to call XAResource.end before the App Server calls ManagedConnection.cleanup. This is what DTPRA expects and gets with the other App Servers.

    I set ALLOW_MULTIPLE_ENLISTS_DELISTS to true and restarted the App Server.
    This worked! Now XAResource.end is called before ManagedConnection.cleanup, as I expected. No errors occur and the transactions are committed properly.
    Thanks a lot for your help.
    But now I have some follow up questions:
    1) I searched the Sun document online and did a google. I did not find anything on the property ALLOW_MULTIPLE_ENLISTS_DELISTS. Is this documented somewhere?
    2) At some point I will probably need to document for my users how to use DTPRA with the Sun App Server. But I am wondering what side effects, if any, there are if I were to tell my customers to always set this property when using DTPRA with Sun App Server. Can you tell me more about this property?
    Thanks again!

Maybe you are looking for