在Java EE容器管理的事务中使用Oracle DB链接的XA数据源



我有以下环境:

WebSphere 9上的EAR应用程序,使用Oracle 19c数据库的XA数据源进行容器管理的事务(让我们将其命名为数据库"A"(。

问题是数据源(在一些事务中(,即数据库";A";正在调用数据库";B";通过数据库链接(数据库"B"也是Oracle 19c(。

连接池得到";使用中的数据库链接太多";由于两阶段提交而导致错误消息。假设使用的数据库链接的最大数量是4,如果我第五次刷新屏幕时得到SQL异常。

在数据库属性中设置"使用中的最大数据库链接数"参数只会延迟问题的出现。

我无法控制(从应用程序的角度(关闭数据库链接。

ATM我们已经将数据源设置为非XA,一切正常,但在一段时间内,我们将需要手动处理包括一个数据源和WebSphereMQ.的事务

有人对这个设置有任何想法或经验吗?

编辑:我正试图用JPA 2.0来实现这一点。

您有两个选项:

  1. 如果不是你,那么应用程序的开发人员需要确保数据库链接关闭。如果活动数据库链接的最大数量为4,则应用程序中只能有4个活动会话/用户
  2. 增加允许的数据库链接数

本文更详细地描述了修复/解决方法。

相关内容

  • 没有找到相关文章

最新更新