当前位置: 技术问答>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 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所以报错
我觉得你没有提交可能是container帮你提交了!
你没有显示的commit所以报错
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。