2010-03-31 127 views
0

Websphere调度程序正在使用调度程序数据源XA驱动程序。当调度程序执行任务时,它将启动全局事务,但在我们的应用程序中,我们正在创建到另一个数据库的新连接,并显式提交数据并关闭连接。此数据源使用非XA驱动程序数据源进行配置。对于应用程序,我们还启用了接受启发式危险(上次参与者支持扩展)。 现在,在运行scheudler时,我们得到异常DSRA9350E:在全局事务期间不允许操作Connection.commit。Websphere调度程序

任何一个可以帮助我在这

+0

你为什么明确提交其他资源?它正在被调度程序启动的tran中加入;它会在tran提交时自动提交。 – 2010-04-18 16:05:45

回答

3

你的任务在事务中运行,可能你调用commit该事务。所以你应该调用你的数据库操作,在该事务之外提交并关闭数据库。 创建Bean管理的事务会话bean

@TransactionManagement(TransactionManagementType.BEAN) 

和移动数据库和交易相关的代码粘贴到新豆。