首页 > 解决方案 > 在 WAS 9 上运行的 Spring Boot 应用程序最终无法连接到 DB2 数据库

问题描述

我们有一个 Spring Boot 应用程序,部署到 WAS 9。它使用 JPA 连接。UI 触发一个后台进程,该进程使用 JPA 将数据读取和写入一个 DB2 数据库。应用程序最终遇到数据库连接错误:

Caused by: org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection
Caused by: java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 120002ms.

数据库保持可用,发生此异常时WAS和DB服务器上的资源在可操作范围内(CPU,RAM,DISK,Heap和Thread count都很好)

最初,应用程序选择 6000 条记录,然后循环并在其他表中创建相关记录。此过程在 WebSphere 之外没有任何问题。在处理了一定数量的记录后会出现此问题。总是在同一个进步点上。如果我们减少所选记录的初始数量,那么我们可以走得更远,但最终应用程序将失败,并出现与上述相同的错误。

我想知道我们在 WAS 服务器上会遇到什么资源限制或约束?

标签: springdb2websphere

解决方案


闻起来像连接泄漏。或者同时打开和保持的连接太多。

WAS 配置也可能与 BOOT 配置不同。


推荐阅读