使用ibatis的Java安全Web服务-意外回滚,无异常
我不是一个说英语的人,所以不要因为我的写作和解释能力而评判我 我有一个WebServiceEJB,它有两个操作,一个处理数据集,另一个用于汇总。 EJB部署在GlassFish v3.1.2.2上,并安全地调用 EJB方法使用Java中的事务,通过Ibatis dao.xml+sqlconfig.xml调用Sybase ASE数据库中的SQL过程。这意味着我将使用启动Sql会话使用ibatis的Java安全Web服务-意外回滚,无异常,java,web-services,ibatis,rollback,Java,Web Services,Ibatis,Rollback,我不是一个说英语的人,所以不要因为我的写作和解释能力而评判我 我有一个WebServiceEJB,它有两个操作,一个处理数据集,另一个用于汇总。 EJB部署在GlassFish v3.1.2.2上,并安全地调用 EJB方法使用Java中的事务,通过Ibatis dao.xml+sqlconfig.xml调用Sybase ASE数据库中的SQL过程。这意味着我将使用启动Sql会话 this.sqlSessionFactory.openSession(false); // autocommit =
this.sqlSessionFactory.openSession(false); // autocommit = false
在会话之前调用提交和回滚。根据发生的错误关闭
问题
当客户端调用摘要操作时,一切看起来都很好,日志由我的OK消息填充,所有过程都应该返回OK,正在进行提交。但当我检查数据库更改时,什么也没发生。似乎在我所有的呼叫和承诺之后,有一次回滚,它回滚了所有已完成的工作。没有抛出异常。
过程有错误语句,但没有一个显示
我不知道该怎么做,如何调试和修复这个问题。想知道Ibatis内部是否有一些异常捕获,它在异常上回滚,但不抛出新异常
有人能帮我吗?如果你想看的话,我可以给你看一些代码
谢谢你的提示
Wors其中一个过程似乎没有返回任何结果集。我是通过语句调用它的,但也许ibatis需要结果集来知道调用是成功的。我们在proc的末尾添加了select1,看起来一切正常。嗯,当我们转到生产服务器时,这种奇怪的行为又出现了。关于Ibatis事务设置,我是否可以检查一些重要的信息?这个问题应该是由什么引起的呢?目前我们只尝试从Java代码中调用一个SQL过程,其他过程都是从那个过程中调用的。这将允许事务控制到DB服务器,应该有助于解决此问题。显然这是交易问题