当前位置:  技术问答>java相关

我在bean-managed transactions遇到的问题,请求帮助!

    来源: 互联网  发布时间:2015-08-01

    本文导语:  下面的代码,我将utx.commit()注释以后,运行时抛出异常: Stateless session beans with bean-managed transactions must commit or rollback their transactions before completing a business method. 可是两张表中都已经插入了数据,为什么...

下面的代码,我将utx.commit()注释以后,运行时抛出异常:

Stateless session beans with bean-managed transactions must commit or rollback their transactions before completing a business method.

可是两张表中都已经插入了数据,为什么会有这种结果?我并没有提交啊? 

///////////////////////////////////////////////////
    Connection conn = null;
    Statement stat = null;
    UserTransaction utx = null;
    utx = sessionContext.getUserTransaction();
    try
    {
      ds = getDataSource();
      if  (ds != null)
      {
        utx.begin();
        conn = ds.getConnection();
        stat = conn.createStatement();
        insertDevice(sDevice_no,sDevice_name,stat); //设备表
        insertProvice(sProvince_no,stat);  //省份表
        stat.close();
        //utx.commit();
      }
    }
    catch (Exception E)
    {
      try
      {
        utx.rollback();
      }
      catch (Exception e)
      {
        throw  new   EJBException(e);
      }
      throw  new   EJBException(E);
    }
    finally
    {
      if  (conn != null)
      {
        try
        {
          conn.close();
        }
        catch  (SQLException sqlE)
        {
          throw  new   EJBException(sqlE);
        }
      }
    }

|
你的stateless方法里面开始的事务必须在此方法里面提交

 我觉得你没有提交可能是container帮你提交了!
你没有显示的commit所以报错

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3