Problem in converting an application from BMT to CMT
I have an application which is using weblogic server 10.3 and ejb 3.0 and also Toplink for ORM. Currently the transactions are using UnitOfWork.commit() for committing a particular action stated in the EJB remote component interface such as createXX(),deleteXX(),etc.
Now when I am trying to comment the uow.commit(); in my code, and declaritively change the ejb-jar.xml so that the particular EJB module in question has Container and I have used @TransactionAttribute(value=REQUIRES_NEW) for my createXX() method, ideally the container should auto commit as part of the CMT.But it is not committing. There is no开发者_高级运维 error, and just for info, I the checkbox in the weblogic server console remains unchecked for "Support Global Transactions".
Please help me with this as the prompt says record created successfully (as per my business msg), but while checking in the logs actual commit is not happening after the uow.uow.registerNewObject(EntityObject); is executed.
Ensure you have integrated TopLink with WebLogic JTA, (have set the server platform to weblogic, have set a weblogic jta data-source).
You also should be using Session.getActiveUnitOfWork() or acquireUnitOfWork(), and should not call uow.commit().
精彩评论