I have a CMT bean with a method set to Never as tx attribute. 

- If I get the UserTransction from SessionContext(), I do get an 
IllegalStateException (java.lang.IllegalStateException: CMT beans are not 
allowed to get a UserTransaction) which is expected
- However, I am able to get the same UT from JNDI!

I am successful in getting TransactionManager and UserTransaction from JNDI in 
my ejbCreate() method.

Now, the following method executes without any 
exceptions/restrictions/constraints:

  |     private void doNonTxWork()
  |     {
  |         logger.info("<< Method: doNonTxWork >>");
  |         try
  |         {
  |             Transaction t = tm.suspend();
  |             ut.begin();
  |             logger.info("UserTransaction BEGIN: ");
  |             ut.commit();
  |             logger.info("UserTransaction COMMITTED: ");
  |             tm.resume(t);
  |             logger.info("Transaction Resumed: ");
  |         }
  |         catch (Exception e)
  |         {
  |             logger.info("Exception:" + e.getMessage());
  |             logger.error(e);
  |             throw new EJBException(e);
  |         }
  |     }
  | 
Note that the method that's calling this one is set to Never. 

Now, in order to check whether I can do the same work in a Required 
method(which ideally should'nt work), I called this method from Required 
method. I didn't get any exceptions/errors and everything seems quite happy!!

Is it not strange behaviour(possible bug??) or am I missing something here?

Thanks
Madhu

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4047192#4047192

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4047192
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to