当前位置: 首页 > 知识库问答 >
问题:

如何解决Webphere上的StaleConnection问题

孟振
2023-03-14

数据库: db2, 应用程序服务器: 网络球体 8

我们有 rest 服务,用于更新/检索数据库中的值。这项服务每天最多使用两次。因此,其余呼叫之间的时间段几乎是24小时。

对于每一个第一/第二个请求,它都会抛出staleConnection异常。第三次重试成功。

执行了以下链接中指定的所有内容。

如何处理陈旧的连接?

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/tdat_pretestconn.html

http://www.thejavacode.com/websphere-adapters-stale-connection-problem-t34.html

但仍然得到陈旧的连接异常。我们正在使用SpringJDBC,因此我没有看到使用后未关闭连接的问题。此外,我在单个请求中编写了重试逻辑,以便在遇到连接异常时尝试三次获取有效连接。

时关联第一次遇到异常时,服务等待三秒钟并重试连接,但随后的重试正在抛出

对象已关闭异常: DSRA9110E: 连接已关闭。

我怀疑随后的重试是否试图打开现有的陈旧连接。如何解决这个问题?

如果我包含错误的标签,我道歉。

共有3个答案

鱼阳伯
2023-03-14

将最小连接池调整为0,默认值为1。

蒋硕
2023-03-14

我同意答案(user918176),只是想添加另一个简单的设置来解决问题,为了完整起见;将最小连接池大小设置为零。

< code > StaleConnectionException 通常发生在一段时间的不活动之后(如早上或午饭后的第一次请求),在此期间,一些网络设备终止底层TCP连接。

将最小池大小设置为零会导致所有旧连接在相当短的时间后被丢弃(在< code >未使用超时之后,默认情况下是连接上次使用后的1800秒)。因此,在非活跃期之后,池中就没有连接了(否则连接就会失效)。此解决方案导致最小的配置更改和最小的性能影响(仅在非活动期后的第一个请求等待数据库连接被重新初始化,而不是获得随时可用的连接)。

祁和通
2023-03-14

#1解决方案是:不要导致连接过时。DB2 驱动程序或服务器中没有任何内容会导致这种情况发生。99% 的陈旧连接是由具有 TCP 超时的损坏防火墙引起的。修复防火墙产品的超时设置,以用于使用网络路由。

第二个解决方案是:

    < li >根据您提供的链接设置预测试。确保您的SQL查询有效(例如< code > SELECT current date FROM sys IBM . sysdummy 1 ) < li >在池设置中设置获取、未使用和过期超时,以在特定时间后销毁未使用的连接。(如果金额低于池的最小值,将立即建立新的池) < li >将清除策略设置为整个池。但是请注意,这将意味着池中一个连接的StaleConnectionException将强制WAS丢弃池中的所有内容,并创建新的连接来满足最小数量要求。这可能会导致性能问题。
 类似资料:
  • 当我在fedora上运行xampp时,此错误显示在应用程序日志中 正在启动Apache Web服务器。。。退出代码:8 Stdout:apache配置测试失败,在/opt/lampp/etc/httpd的第522行中止Stderr:httpd:Syntax错误。conf:opt/lampp/etc/extra/httpd xampp的第10行出现语法错误。conf:无法加载模块/libphp7。所

  • 问题内容: 下面的程序引发NullPointerException。在Log cat中,它显示: 单击该按钮时,它不会进入Mousefragment类。我试图解决它,但是我不能-如何解决这个问题? 编辑 单击该按钮多少次,该异常随同invalid_ip Toast消息一起显示 问题答案: 如前所述,您的问题询问如何解决此问题。 您需要弄清楚在哪里抛出。为此,请查看堆栈跟踪以查看引起问题的行。然后,

  • 问题内容: 我在做一个 用。我有我的输出。有人可以帮我吗?谢谢。 sendMailServlet代码: 在GlassFish 2.1上的输出: 问题答案: 您需要实施一个自定义 现在在 另请查看JavaMail常见问题解答

  • 在'body'中,两个'child'不能在?只允许一个?如果是的话,我如何添加像图片中那样的几个小部件呢?ex)ElevatedButton(),列(子项:?并且在“列(儿童:”下面有一个红色的下划线。有人能告诉我为什么会这样吗?

  • 我正在尝试在RHEL7.x上安装开源的累加器。我有两GB的交换空间。我已经安装了Java1.8、Hadoop3和Zookeeper。我已经运行了累加1.9.2的bootstrap_config.sh脚本。 我使用累加bootstrap_config.sh脚本配置Hadoop版本3。如何使“/bin/accumulo-1.9.2/bin/accumulo-init”工作?