Glassfish Server4最大池大小和最大等待时间

时间:2016-09-20 13:02:51

标签: java glassfish

我机器上安装的Glassfish4服务器的最大池大小= 32个连接。在此服务器上每隔10分钟和15分钟后,我的应用程序将安排两个cron作业。服务器在2小时后崩溃,异常" java.sql.SQLException:分配连接时出错。原因:正在使用的连接等于max-pool-size和expired max-wait-time。无法分配更多连接。"

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

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

现在我的cron工作正常。

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

1 个答案:

答案 0 :(得分:0)

我已使用Glassfish4中的以下设置解决了此问题

  

初始和最小池大小:16

     

最大泳池大小:64

     

游泳池调整数量:4

     

空闲超时:60

     

最长等待时间:3000

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

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

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