We have implemented Stateless Session EJBs with DAO (Simple
JAVA classes) objects, wherein one of my stateless
EJB method calls methods of multiple DAO (say CustomerDAO and OrderDAO).
First we are saving info in CustomerDAo and then into OrderDAO. While saving info in OrderDAO, if there are any exceptions then i want my transaction to be rolledback completely (i.e. entry in CustomerDAO should not be committed). I have tried to implement this by marking my sessioncontext as setRollbackOnly.
Right now if there is some problem in OrderDAO then my transaction is committed automatically (if autocommit is set to true). If i set it to false then it is not committed even if there is no error.
My transaction is specified as Container Managed - Required for all methods. Each of my DAOs are having their own connection object, set to AutoCommit "false". Also after putting connection to AutoCommit "FALSE", ORderDAO locks the corresponding Table.
Pls. inform any solution or work around for the same.
If i use Entity EJBs with Local Interface will it be of similar performance as my DAOs.
Eagerly waiting for any response.
Thanks & regards,
Tarun Dewan.