Container-managed transactions with CMP. trans-attribute set to Required. A session bean calls manager session beans that call entity beans to save data to the database. Other java components and manager session beans(these in turn call the entity neans) are called to do processing of the incoming data and read data from the database for validation purposes. An exception is thrown from one of the java class to the session bean. However rollback does not take place. However if this class calls a manager bean and that throws an exception, rollback takes place for the entire transaction but another exception is thrown.... This exception is java.lang.Exception: CDFProcessingFailureUnexpected exception in com.dhl.emfel.external.customerinterface.CustomerInterfaceEJBEJB.processMessage(): java.lang.IllegalStateException: Illegal attempt to call EJBContext.getRollbackOnly() from an EJB that was not participating in a transaction. at weblogic.ejb.internal.BaseEJBContext.getRollbackOnly(BaseEJBContext.java:616) at weblogic.ejb.internal.BaseEJBObject.handleExceptionInOurTx(BaseEJBObject.java:556) at weblogic.ejb.internal.BaseEJBObject.handleException(BaseEJBObject.java:669) at weblogic.ejb.internal.BaseEJBObject.postInvoke(BaseEJBObject.java:725) at com.dhl.emfel.external.customerinterface.CustomerInterfaceEJBEJBEOImpl.processMessage(CustomerInterfaceEJBEJBEOImpl.java:62) at com.dhl.emfel.util.PollingProcess.run(PollingProcess.java:194) at java.lang.Thread.run(Unknown Source) ; nested exception is: java.lang.IllegalStateException: Illegal attempt to call EJBContext.getRollbackOnly() from an EJB that was not participating in a transaction. at com.dhl.emfel.util.PollingProcess.run(PollingProcess.java:198) at java.lang.Thread.run(Unknown Source)
Can someone please give me some inputs on why this happens. Does this mean an unclean rollback. The answer to another of my questions that I have posted may lie in answer to this question. Thanks.