如果需要进行事务处理,最好使用容器管理的。这样就可以通过配置不同的描述符进行不同等级的事物控制,这也是使用ejb的一大好处。

解决方案 »

  1.   

    不是用commit方法开始事务的,使用begin开始的。commit世结束事务的。
      

  2.   

    对,是begin开始的,不过也是在a1方法里面commit的。我疑惑的是两个都是bean管理的话,事务是如何传递的,应该如何传递,在不用容器管理的情况下?
      

  3.   

    现在的EJB容器好像还不支持嵌套的事务机制,一般都是并行的事务。
      

  4.   

    楼上的兄弟可能理解错了,b里面的b1方法并没有开始新的事务,因而也不存在嵌套的问题,问题是好像它得到a的事务上下文但是没有把自己的操作绑定到这个事务中去!我是问采用我的这种方式,能确保b里面的b1方法也被事务包括进去吗?有没有人遇到过类似的问题?
      

  5.   

    用用container自动管理事务多好,为什么要手动控制事务
      

  6.   

    在写一个SessionBean捆绑a和b在一个事务中即可