我有以下环境:
WebSphere 9上的EAR应用程序,使用Oracle 19c数据库的XA数据源进行容器管理的事务(让我们将其命名为数据库"A"(。
问题是数据源(在一些事务中(,即数据库";A";正在调用数据库";B";通过数据库链接(数据库"B"也是Oracle 19c(。
连接池得到";使用中的数据库链接太多";由于两阶段提交而导致错误消息。假设使用的数据库链接的最大数量是4,如果我第五次刷新屏幕时得到SQL异常。
在数据库属性中设置"使用中的最大数据库链接数"参数只会延迟问题的出现。
我无法控制(从应用程序的角度(关闭数据库链接。
ATM我们已经将数据源设置为非XA,一切正常,但在一段时间内,我们将需要手动处理包括一个数据源和WebSphereMQ.的事务
有人对这个设置有任何想法或经验吗?
编辑:我正试图用JPA 2.0来实现这一点。
您有两个选项:
- 如果不是你,那么应用程序的开发人员需要确保数据库链接关闭。如果活动数据库链接的最大数量为4,则应用程序中只能有4个活动会话/用户
- 增加允许的数据库链接数
本文更详细地描述了修复/解决方法。