java - Glassfish Server4 最大池大小和最长等待时间

标签 java glassfish

我机器上安装的 Glassfish4 服务器的最大池大小 = 32 个连接。在此服务器上每 10 分钟和 15 分钟后从我的应用程序安排两个 cron 作业。服务器在 2 小时后崩溃,出现异常“java.sql.SQLException:分配连接时出错。原因:使用中的连接等于最大池大小和过期的最大等待时间。无法分配更多连接。”

因此,我更改了 JDBC 连接池设置并输入了非常大的数字,只是为了看看会发生什么。

最大池大小:1000000000(10 亿) 最大等待时间:300000(5 分钟)

现在我的 cron 作业运行良好。

您认为将 JDBC 连接池属性设置得这么高会导致问题吗?请告知最佳值。

最佳答案

我已经通过 Glassfish4 中的以下设置解决了这个问题

Initial and Minimum Pool Size:16

Maximum Pool Size:64

Pool Resize Quantity:4

Idle Timeout:60

Max Wait Time:3000

我在 Glassfish4 中启用了连接泄漏监控。

启用连接泄漏监控后,一段时间后我检查监控数据时,我可以在我的一些 java 类的日志中看到 ConnectionLeak 异常。我关闭了这些类中的连接,因为它们是直接从连接对象创建的,并且未在其中使用 JPA 实体管理器。

现在我所有的 cron 作业都在运行,服务器没有崩溃。

关于java - Glassfish Server4 最大池大小和最长等待时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39594883/

相关文章:

java - 谷歌应用引擎: f:setPropertyActionListener with p:ajax

java - 以不同的方法设置对象

java - JAX-WS 收到响应时 SOAP 中出现神秘错误

java - 在浏览器中通过 http 公开 GlassFish 日志文件 (server.log)

java - 在 Windows 7 上使用安装程序安装 Glassfish Server 失败

java - Glassfish 4 - 使用并发 API 创建托管线程

java - 在表中插入数百万条记录

java - 使用 AIR 代码实现原生 Android 代码

java - 多模块 Maven 项目和 Docker : Cannot find artifact?

java - jsf 与 jsf 复合组件输出 <html> 标签 2 次