In answer to your questions:

1. These are the transactional attributes I'm using for *all* my EJBs:
    <container-transaction>
      <method>
        <ejb-name>XXX</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>

So I don't think I can be accidentally declaring home methods with
transactional attributes, since GenIC should presumably interpret the "*"
correctly and not apply it to home methods.

BUT, I am calling create methods on session home interfaces within
client-demarcated txns - could this be causing the problem? (Surely it
shouldn't cause a problem, else you have to do all your session EJB creation
before beginning the txn...)

2. I'm running a single EJB server.
My jonas.tm.remote=false, i.e. ORB and TM are in same JVM.

3. It's 100% reproducible!

Does your test suite have something like this:
Call method on session bean. Session bean method loads a BMP EJB. That
top-level BMP EJB loads a mixture of many CMP EJBs and BMP EJBs during its
ejbLoad(). Some of those BMP EJBs load other CMP EJBs during their
ejbLoad()s. Session bean method returns some property of the top-level BMP
EJB.
...all in a single client-demarcated txn, with all EJBs declared with
tx=Required on all methods?

Regards,
Joe


Philippe Durieux wrote:

> Joe Gittings wrote:
> >
> > Hi,
> >
> > First, thanks to everyone on the Jonas team for addressing so quickly
> > the problem with txn propagation under Jeremie.
> >
> > I have good news, and I have bad news. So first, the good news! It
> > appears that the problems with "Bad status=COMMITTED" messages under
> > container-demarcated txns are completely resolved.
> >
> > Now, the bad news. Unfortunately it appears that some txn problems
> > remain. If I invoke a method on a session bean which has been declared
> > as tx=Mandatory, using a client-demarcated txn, I get this output from
> > Jonas (with default trace levels):
> >  Current.setPropagationContext: unknown tx:1003777137994753
> >  setPropagationContext: Bad Coordinator
> >  setPropagationContext: Bad Coordinator
> >  setPropagationContext: Bad Coordinator
> >  setPropagationContext: Bad Coordinator
> >  setPropagationContext: Bad Coordinator
> >
> > (Note that this method loads an EJB which has been declared with
> > tx=Required. And that EJB's loading process loads a large number of
> > other EJBs, all of which are declared with tx=Required).
> >
> > It appears that the client-demarcated txn *is* being used, since the
> > timeout set on it is honoured. But the error messages are worrying, and
> > I need to know if they represent a real problem or not.
> >
> I have some questions to try to figure out this problem:
>
> 1)
> Are you sure that you did not set transactional attributes to methods
> of a session bean *home* ? This is not allowed, but there is a little
> bug in deployment process: you are not aware that this will not be taken
> in account: it is just silently ignored.
>
> 2)
> Have you all your beans in 1 EJBServer or not ? Do you run a standalone
> TMServer or is the JTM inside the EJBServer ? (it depends on
> "jonas.tm.remote
> property in jonas.properties)
>
> 3) Is this a random error or is it reproduced each time ?
>
> Thanks for helping me...
>
> --
> Philippe Durieux  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Bull - 1 rue de Provence - 38432 Echirolles Cedex France
> [EMAIL PROTECTED]
> -> Download our EJBServer at http://www.evidian.com/ejb <-
> ----
> 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".

----
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