Websphere 调度程序

发布于 2024-08-27 09:28:38 字数 250 浏览 4 评论 0原文

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千笙结 2024-09-03 09:28:38

您的任务在事务中运行,并且您可能在该事务中调用提交。因此,您应该调用数据库操作,在该事务之外提交并关闭数据库。
创建 bean 管理的事务会话 bean

@TransactionManagement(TransactionManagementType.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

@TransactionManagement(TransactionManagementType.BEAN)

and move db and transaction related code into the new bean.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文