gpt4 book ai didi

java - 有没有办法释放饱和的连接池?

转载 作者:太空狗 更新时间:2023-10-30 02:01:11 25 4
gpt4 key购买 nike

我在 glassfish 服务器上使用开放式 ESB。我们有一个与 as400 数据库配合使用的连接池。

每隔几天我们就会收到这个错误:分配连接时出错。原因:使用中的连接数等于 max-池大小和过期的最大等待时间。无法分配更多连接

解除cp最好的办法就是重启服务器。我们还设法设置为另一个具有相同属性的 cp。

我的问题是:有没有办法主动“告诉”cp 释放所有打开的连接?

干杯,伊兰

最佳答案

在这样做之前,找出连接未正确释放的原因。听起来好像只有一个地方忘记了这一点(finally 子句中有所有 close() 吗?)。

我强烈推荐 Michael Nygards 的“释放它!”了解使软件生产做好准备的技术。

编辑#1:如果我正确理解您的描述,您的后端程序会进入 QSYSOPR 中的 MSGW,这会导致连接挂起,直到给出响应为止,这在您的情况下几乎是永远不会。是否可以选择使用默认回复为“C”的配置文件,从而允许故障作为异常传播给您?

否则您可以为连接或整个服务器设置 24 小时的超时时间?那么至少连接最终会被关闭。虽然此解决方案无法扩展,但可以使开发更容易。

请注意,也可以有一个单独的监视线程定期查找 MSGW,并在获取回调堆栈以进行事后分析后自动向他们发送答复。

关于java - 有没有办法释放饱和的连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/816835/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com