3 java database connection-pooling open-esb ibm-midrange
我在glassfish服务器上使用open esb.我们有一个与as400数据库一起使用的连接池.
每隔几天我们就会收到此错误:分配连接时出错.原因:正在使用的连接等于max-pool-size和expired max-wait-time.无法分配更多连接
缓解cp的最佳方法是重启服务器.我们还设法设置了另一个具有相同属性的cp.
我的问题是:有没有办法主动"告诉"cp释放所有打开的连接?
干杯,伊兰
在此之前,找出未正确释放连接的原因.听起来有一个地方会被遗忘(你在finally子句中有所有close()吗?).
我强烈推荐Michael Nygards"释放它!" 用于使软件生产准备就绪的技术.
编辑#1:如果我正确理解你的描述你的后端程序进入QSYSOPR中的MSGW导致挂起连接,直到给出响应,在你的情况下接近永远.是否可以选择使用默认回复为"C"的配置文件,它允许故障作为例外传播给您?
否则,您可以为连接或整个服务器设置24小时的超时时间?然后至少连接将最终关闭.该解决方案虽然不能扩展,但可以使开发更容易.
请注意,也可以有一个单独的监视线程,它会定期查找MSGW并在抓取回叫堆栈后自动向他们发送答案以进行事后分析.
归档时间: |
|
查看次数: |
3114 次 |
最近记录: |