可以的, ejb只是容器事务和自己控制事务的方式

解决方案 »

  1.   

    ejb2.of_setcommit();//提交
          else                 //失败
             ejb2.of_setrollback()//回滚,应同时回滚ejb1方法中的操作估计你ejb写的有问题rollback和commit应该放在同一个try catch
    怎么可以放在两个方法中呢
      

  2.   

    那这种客户端需要多次调用ejb的情况大家都是怎么处理的呢?
      

  3.   

    try{
    Context ctx = new InitialContext();
    utx = (javax.transaction.UserTransaction) ctx.lookup(
              "javax.transaction.UserTransaction");
    utx.begin();
    int li_rt;
      li_rt=ejb1.of_insert();//调用一个ejb中的方法对数据库进行操作
      if li_rt=1 //成功
      {
         if ejb2.of_update()=1;//调用另一个ejb中的方法对数据库进行操作.成功
            ejb2.of_setcommit();//提交
          else                 //失败
             ejb2.of_setrollback()//回滚,应同时回滚ejb1方法中的操作
       }
     utx.commit();
        }catch (Exception ex) {
          ex.printStackTrace();
          if (utx != null) {
            try {
              utx.rollback();
            }
            catch (Exception ex) {
            }
          }
        }
      

  4.   

    谢谢 liujs1026(焰火)兄,那ejb的事务属性怎么设置?缺省可以吗?