问题描述
我有以下环境:
WebSphere 9上的EAR应用程序,使用针对Oracle 19c数据库的XA数据源进行容器管理的事务(将其命名为数据库“ A”)。
问题在于数据源(在某些事务中),即数据库“ A”正在通过数据库链接调用数据库“ B”(数据库“ B”也是Oracle 19c)。
由于两阶段提交,连接池收到“正在使用太多数据库链接”错误消息。假设最高如果我第五次刷新屏幕时出现SQL异常,则正在使用的数据库链接数为4。
在数据库属性中设置使用中的最大数据库链接参数只会延迟问题。
从应用程序角度看,我无法控制关闭数据库链接。
我们已经将ATM的数据源设置为非XA,并且一切正常,但是在某些时候,我们需要手动处理包含一个数据源和WebSphere MQ的事务。
有人对这种设置有任何想法或经验吗?
编辑:我正在尝试使其与JPA 2.0一起使用。
解决方法
您有两个选择:
- 如果不是您,则应用程序的开发人员需要确保关闭数据库链接。如果活动数据库链接的最大数量为4,则您的应用程序中只能有4个活动会话/用户。
- 增加允许的数据库链接数
This article详细介绍了修复程序/解决方法。