On Oct 31, 2006, at 11:16 PM, Thej wrote:


Dear David,

        Ok i have identified the issue. in the ejb-jar.xml i was not
putting in the assembly-descriptor part and hence the transaction
policy comming was not supported. Thanx for the help.

Great.  Though I think our default tx policy is 'supports'.


One More thing. If from one ejb call inside the ejb method if we
are looking up another ejb and calling a method of it then the
second ejb method will commit the transaction and then comming back
to first call will throw exception as transaction not active.

    i am putting the steps below.

    1)   Lookup Ejbclass1
    2) transactionPolicy.beforeInvoke will begin transaction
    3) call  Ejbclass1.mehtod1()
    4) lookup Ejbclass2
    5) transactionPolicy.beforeInvoke will remain in the transaction
    6) call  Ejbclass2.mehtod2()
    7) transactionPolicy.afterInvoke will commit transaction
    8) comes bak to Ejbclass1.method1()
9) transactionPolicy.afterInvoke will try to commit transaction but
will not find a transaction

This shouldn't happen ever. I assume you're using 'required' as your tx attributes for both beans? Confirm that and I'll dig into the code and see what's going on.


-David

Reply via email to