On Mar 27, 2008, at 10:16 AM, Carljohan Carlsson wrote: > Hi, > > Im trying to set up CMT with EJB (resin 3.1.5) and running into some > problems when rolling back a transaction.
I've marked it as a bug as http://bugs.caucho.com/view.php?id=2559. That looks like a normal use of setRollbackOnly, so I'm not sure how it's different from our test cases. -- Scott > > > Any ideas? > > /Carljohan > > EJB: > > @Stateless > @TransactionManagement(TransactionManagementType.CONTAINER) > public class UserServiceImpl extends GenericService implements > UserService { > > .. > > @TransactionAttribute(TransactionAttributeType.REQUIRED) > public Group saveGroup(Group g) { > > if(...) { > LOG.warn("Rolling back transaction"); > sessionContext.setRollbackOnly(); > } > > } > > Log: > [18:09:23.285] {http--8080-1} Transaction[01:0dac5463] begin > [18:09:23.285] {http--8080-1} Transaction[01:0dac5463] rollback-only: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} Transaction[01:0dac5463] rollback-only: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} Transaction[01:0dac5463] rollback > [18:09:23.285] {http--8080-1} javax.servlet.ServletException: > javax.ejb.TransactionRolledbackLocalException: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} at > org > .apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java: > 515) > [18:09:23.285] {http--8080-1} at > org > .apache > .struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java: > 419) > [18:09:23.285] {http--8080-1} at > com > .caucho > .server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87) > [18:09:23.285] {http--8080-1} at > com > .caucho > .server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:181) > [18:09:23.285] {http--8080-1} at > com > .caucho > .server.dispatch.ServletInvocation.service(ServletInvocation.java:266) > [18:09:23.285] {http--8080-1} at > com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:269) > [18:09:23.285] {http--8080-1} at > com.caucho.server.port.TcpConnection.run(TcpConnection.java:603) > [18:09:23.285] {http--8080-1} at > com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721) > [18:09:23.285] {http--8080-1} at > com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643) > [18:09:23.285] {http--8080-1} at > java.lang.Thread.run(Thread.java:595) > [18:09:23.285] {http--8080-1} Caused by: > javax.ejb.TransactionRolledbackLocalException: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} at > com.caucho.ejb3.xa.XAManager.commit(XAManager.java:247) > [18:09:23.285] {http--8080-1} at > _ejb.UserServiceImpl.UserServiceImpl__EJB > $UserService__Bean.addUser(UserServiceImpl__EJB.java:122) > [18:09:23.285] {http--8080-1} at > _ejb.UserServiceImpl.UserServiceImpl__EJB > $UserService__EJBLocal.addUser(UserServiceImpl__EJB.java:354) > > ... > > [18:09:23.285] {http--8080-1} Caused by: > com.caucho.transaction.RollbackExceptionWrapper: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} at > com.caucho.transaction.TransactionImpl.commit(TransactionImpl.java: > 579) > [18:09:23.285] {http--8080-1} at > com > .caucho > .transaction > .TransactionManagerImpl.commit(TransactionManagerImpl.java:271) > [18:09:23.285] {http--8080-1} at > com.caucho.jca.UserTransactionImpl.commit(UserTransactionImpl.java: > 417) > [18:09:23.285] {http--8080-1} at > com.caucho.jca.UserTransactionProxy.commit(UserTransactionProxy.java: > 148) > [18:09:23.285] {http--8080-1} at > com.caucho.ejb3.xa.XAManager.commit(XAManager.java:243) > [18:09:23.285] {http--8080-1} ... 111 more > [18:09:23.285] {http--8080-1} Caused by: > java.lang.IllegalStateException: invalid transaction > [18:09:23.285] {http--8080-1} at > com.caucho.ejb.AbstractContext.setRollbackOnly(AbstractContext.java: > 322) > [18:09:23.285] {http--8080-1} at > com > .stendahls.ddt.logic.UserServiceImpl.saveGroup(UserServiceImpl.java: > 104) > [18:09:23.285] {http--8080-1} at > _ejb.UserServiceImpl.UserServiceImpl__EJB > $UserService__Bean.saveGroup(UserServiceImpl__EJB.java:198) > [18:09:23.285] {http--8080-1} at > com.stendahls.ddt.logic.UserServiceImpl.addUser(UserServiceImpl.java: > 73) > [18:09:23.285] {http--8080-1} at > _ejb.UserServiceImpl.UserServiceImpl__EJB > $UserService__Bean.addUser(UserServiceImpl__EJB.java:116) > [18:09:23.285] {http--8080-1} ... 110 more > > > > > > > _______________________________________________ > resin-interest mailing list > resin-interest@caucho.com > http://maillist.caucho.com/mailman/listinfo/resin-interest _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest