EJB 事务问题 请教高手,项目正急,在线等~~~~~~~~~~~~~~~~~
现在有实体bean A ,实体bean B,实体bean C 和会话bean D,采用的都是容器管理事务,事务类型是required.
实体bean A,实体bean B和会话bean D 是打在一个jar包里面的,实体bean C是打在另外一个jar包里面的.
我现在在会话bean D 里面的add()调用同一个包里面的实体bean A和实体bean B 的create 方法 新增两个记录.同时在add()方法的开头加上sessionContext.setRollbackOnly();设置回滚点,在catch里面加上sessionContext.getRollbackOnly();进行回滚,经测试,实体bean A和实体bean B任意一个出错,事务都可以回滚.
我现在的问题是,我在会话bean D的add()面在加上另外一个包里面的实体bean C 的create方法,再新增一条记录.这时候运行的时候就会有异常而且事务也不能回滚.weblogic的异常如下
[weblogic.transaction.internal.AppSetRollbackOnlyException]
weblogic.transaction.internal.AppSetRollbackOnlyException
<<no stack trace available>>
--------------- nested within: ------------------
weblogic.transaction.RollbackException: Unknown reason - with nested exception:
[weblogic.transaction.internal.AppSetRollbackOnlyException]
<<no stack trace available>>
难道事务只能在一个jar包里面吗,如果需要调用另外一个jar包里面的实体bean 就不能进行事务了吗.针对上面的问题我怎么样才能进行事务上的管理呢?
希望高手能给我指点一下,帮助我解决问题,现在项目很急,先感谢大家了.鞠躬敬礼.