你把a和b同时放在一个事务中就可以了
userTran.begin();
ejb a;
ejb b;
ejb ....;
userTran.commit();

解决方案 »

  1.   

    放在一个事务中也许是一个解决方法,但是我的事务是在不同的bean中,更有可能,不在同一个服务器中啊!怎么解决?谢谢
      

  2.   

    有一个很简单的办法,建立一个SessionBean,将上述的a和b(不管它们在哪儿)放入该SessionBean的某一个方法中,对该方法使用声明性事务(在ejb-jar.xml文件中声明),事务属性为Required。此时,不管是不是分布式事务,容器都可以替你管理事务。