0 Replies Latest reply on Nov 21, 2002 8:01 AM by Jürgen Krannich

    Confusing Transaction problems

    Jürgen Krannich Newbie

      Hi there,
      I've got a little (confusing) problem concerning transactions. Configuration:
      jboss-3.0.4_tomcat-4.0.6; Informix 7.3 (using newest drivers: 2.21,J3); AIX 5; informix-xa-service.xml.

      When creating a new (cmp-)bean within a running transaction everything works fine (I'm running a server-side JUnit test creating thousands of beans. All calls to all methods run within one "TestCase-Transaction". No problems here). As soon as I try to create a bean from a client that currently has no transaction running I'm not able to create anything that requires a new transaction to be started. I expected jboss to start a new transaction (cause create-method requires a transaction) but it suddenly fails:

      ERROR [org.jboss.ejb.BeanLock] Saw rolled back tx=TransactionImpl:XidImpl [FormatId=257, GlobalId=moskau//213, BranchQual=]
      ERROR [org.jboss.ejb.plugins.LogInterceptor] TransactionRolledbackLocalException, causedBy:
      java.lang.RuntimeException: Transaction marked for rollback, possibly a timeout
      at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.doSchedule(QueuedPessimisticEJBLock.java(Compiled Code))
      at org.jboss.ejb.plugins.lock.QueuedPessimisticEJBLock.schedule(QueuedPessimisticEJBLock.java(Compiled Code))
      at org.jboss.ejb.plugins.EntityLockInterceptor.invoke(EntityLockInterceptor.java(Compiled Code))
      at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke(EntityCreationInterceptor.java(Compiled Code))
      at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java(Compiled Code))
      at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java(Compiled Code))
      at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java(Compiled Code))
      at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java(Compiled Code))
      at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java(Compiled Code))

      I'm very sure that there is no timeout because I needed to set it very high to complete the JUnit-test.

      Any ideas?