Websphere 调度程序
Websphere Scheduler 使用调度程序数据源 XA 驱动程序。当任务由调度程序执行时,它正在启动全局事务,但在我们的应用程序中,我们正在创建到另一个数据库的新连接并显式提交数据并关闭连接。此数据源使用非 XA 驱动程序数据源配置。对于该应用程序,我们还启用了接受启发式风险(最后参与者支持扩展)。 现在,在运行调度程序时,我们收到异常 DSRA9350E: 在全局事务期间不允许操作 Connection.commit 。
任何人都可以帮我解决这个问题吗
Websphere Scheduler is using scheduler datasource XA driver . When task is executed by scheduler it is starting a global transaction, but in our application we are creating a new connection to another database and explicitly commiting the data and closing the connection. This data source configured using non-XA driver datasource. For the application we have also enabled the Accept heuristic hazard (Last participant support extension) .
Now while running the scheudler we are getting the exception DSRA9350E: Operation Connection.commit is not allowed during a global transaction .
Can any one help me out in this
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的任务在事务中运行,并且您可能在该事务中调用提交。因此,您应该调用数据库操作,在该事务之外提交并关闭数据库。
创建 bean 管理的事务会话 bean
并将数据库和事务相关代码移至新 bean 中。
Your task runs in a transaction and probably you call commit in that transaction. So you should call your db operations, commit and close db outside that transaction.
Create bean-managed transaction session bean
and move db and transaction related code into the new bean.