【发布时间】:2019-06-06 20:51:01
【问题描述】:
我们有一个 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 服务器上会遇到什么资源限制或约束?
【问题讨论】: