I've figured out a workaround. If I make the call in a client-demarcated txn, the
problem does not occur. If I do not begin a txn before making the call, the problem
can occur.

So I think Jonas 2.2.4 has a bug in the way it deals with container-demarcated txns
on EJB methods declared with TX_REQUIRED...

Anyway, this workaround is fine for me.  :)

Joe

Joe Gittings wrote:

> Hi Philippe,
>
> OK, attached is a file showing the server output with trace level set to
> "all". The exception occurs in this example when I call the method
> UserAuthenticator.authenticate, having successfully obtained an instance of
> UserAuthenticator (although note that it's not specific to this EJB, it
> occurs when calling methods on lots of other EJBs).  This EJB is a
> stateless session EJB, and the authenticate method is trivial and quick.
> Also, this EJB is not secured at all (since it's the authenticator EJB).
>
> Some details:
> * I'm using Jonas 2.2.4 with Jeremie, and JDK 1.3.0.
> * The error seems to occur randomly with about 25% of transactions.
> * I don't think it's got anything to do with the timeout error I was having
> before, as this problem is just as likely to occur with very quick method
> calls as with long method calls.
> * I'm using TX_REQUIRED for all EJBs.
>
> Thanks,
> Joe
>
> Philippe Durieux wrote:
>
> > Joe Gittings wrote:
> > >
> > > Hi,
> > >
> > > I'm getting these errors using Jonas 2.2.4. They seem to occur pretty
> > > randomly and with almost any EJB operation, i.e. they're not just
> > > occurring with a particular EJB of mine, or during a particular
> > > operation, they're occurring at random with any operation.. I'm not
> > > alone in this, exactly the same problem was reported in this posting:
> > > http://www.objectweb.org/messages/JonasUsers/2001/01/msg00033.html
> > > by Joneric Wennerstrom on 4th January.
> > >
> > > They're quite a serious concern for me, I can't see why they're
> > > occurring and as I say they occur fairly randomly.
> > > Can anyone help?
> > > Joe
> > >
> > >  addCompletedTransactionListener: bad status: COMMITTED
> > >  System Exception in business method:java.lang.IllegalStateException:
> > > addComplet
> > > edTransactionListener: Bad status
> > >  Cannot set transaction as rollback only
> > >  Bad status=COMMITTED
> > Hi,
> > Can you give me more information about this problem ?
> > When do you et this error ? IS this related to the timeout problem
> > you had before ? What is the method that raises this exception ?
> > Looking at just this message, I cannot find something wrong in jonas
> > because it's difficult to see where can be the problem...
> > Do you use Jeremie or rmi ?
> >
> > --
> > Philippe Durieux  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Bull - 1 rue de Provence - 38432 Echirolles Cedex France
> > [EMAIL PROTECTED]
> > -> Download our EJBServer at http://www.evidian.com/ejb <-
>
>   ------------------------------------------------------------------------
> received_request() : received request context principal : name = JOnAS_client
>  JOnASUserAuthenticatorHome.create()
>  JSessionHome.getSessionEJBObject
>  No JBeanSession found! a new one must be created
>  JContainerImpl.getMethodGuard()
>  JOnASUserAuthenticatorRemote()
>  Current.setPropagationContext(null) -> detach
> sending_reply() : creates reply context org.objectweb.jonas_tm.PropagationContex
> t@55276a
>   Coordinator of this pCtxt is null
> security context sets to default.
> sending_reply() : creates reply context principal : name = JOnAS_client
>
> received_request() : received request context principal : name = JOnAS_client
>  JOnASUserAuthenticatorRemote.authenticate(java.lang.String, java.lang.String)
>  JBeanSession.preinvoke
> NamingManager: setComponentContext: UserAuthenticator
>  JBeanSession: getContextFromPool
>  JContainerImpl.checkTransactionIn
>  Transaction Attribute = TX_REQUIRED
> sending_request()   creates request context org.objectweb.jonas_tm.PropagationCo
> ntext@55276a
>   Coordinator of this pCtxt is null
> JonasSecuritySender.sending_request() : principal : name = JOnAS_client
> JonasSecuritySender.received_reply(principal : name = JOnAS_client)
> sending_request()   creates request context org.objectweb.jonas_tm.PropagationCo
> ntext@55276a
>   Coordinator of this pCtxt is null
> JonasSecuritySender.sending_request() : principal : name = JOnAS_client
> received_request() org.objectweb.jonas.rmifilters.JonasReceiver@688954 context o
> rg.objectweb.jonas_tm.PropagationContext@7e319a
>   received_request: valid transaction context
>   Coordinator of this pCtxt is null
>  Current.setPropagationContext(1003182604084228)
>  Current: setPropagationContext -> new Tx
>  TransactionImpl.TransactionImpl(PropagationContext pctx)
>  Associate Tx to Xid:1003182604084228
>
> received_request() : received request context principal : name = JOnAS_client
>  Current.setPropagationContext(null) -> detach
>  Remove Tx from Xid:1003182604084228
> sending_reply() : creates reply context org.objectweb.jonas_tm.PropagationContex
> t@7e319a
>   Coordinator of this pCtxt is null
> security context sets to default.
> sending_reply() : creates reply context principal : name = JOnAS_client
>
> received_reply  context org.objectweb.jonas_tm.PropagationContext@2f75e5
>   Coordinator of this pCtxt is null
>  Current.setPropagationContext(1003182604084228)
>  Current: setPropagationContext -> new Tx
>  TransactionImpl.TransactionImpl(PropagationContext pctx)
>  Associate Tx to Xid:1003182604084228
> JonasSecuritySender.received_reply(principal : name = JOnAS_client)
> DataSourceFactory: return the matching ConnectionManager
> ConnectionManager.getConnection()
> ConnectionManager.getConnection(sepasal_ejb_server_debug)
>         Tx = 1003182604084228
> XAConnectionImpl.getConnection()
> ConnectionImpl.isClosed()
>   Pool: reuse a Connection for Tx = 1003182604084228
>  TransactionImpl.addCompletedTransactionListener
>  SubCoordinator.addCompletedTransactionListener
>  addCompletedTransactionListener: bad status: COMMITTED
>  JBeanSession.postinvoke
>  JBeanSession: putContextInPool
>  JBeanHome.toThePool: size=1
>  doPostInvoke
>  System Exception in business method:java.lang.IllegalStateException: addComplet
> edTransactionListener: Bad status
>  TransactionImpl.setRollbackOnly()
>  SubCoordinator.setRollbackOnly()
>  Cannot set transaction as rollback only
>  Bad status=COMMITTED
>  Current.setPropagationContext(null) -> detach
> sending_reply() : creates reply context org.objectweb.jonas_tm.PropagationContex
> t@55276a
>   Coordinator of this pCtxt is null
> security context sets to default.
> sending_reply() : creates reply context principal : name = JOnAS_client
>
> ------------ ConnectionPool -----------------
> Nb of item not associated with tx = 0
> +++ Hashtable XAC -> item:
> 1       open=0  tx=null
> +++ FreeList:
> 1       open=0  tx=null
> +++ Associated with tx:
> ---------------------------------------------
> ------------ ConnectionPool -----------------
> Nb of item not associated with tx = 0
> +++ Hashtable XAC -> item:
> 0       open=0  tx=1003182604084228
> +++ FreeList:
> +++ Associated with tx:
> 0       open=0  tx=1003182604084228
> ---------------------------------------------

----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to