Loading

GlashFish部署的程序时好时坏,无法访问时报404

1.问题

glashfile部署的程序时好时坏, 有时部署后访问直接就报404错误

查看log, log如下
[2017/09/26 18:22:54.820][               ] ERROR [        ] (http-thread-pool-8088(1):TotoTrace) - 2017/09/26 18:22:54, http-thread-pool-8088(1):
+-------
| java.lang.IllegalStateException: Pool closed

 

2.解决方法

看到关键字 Pool closed.通过google 发现是DB的连接池相关,于是查看当前postgresql库的 当前连接数和最大连接数

通过下面的SQL

当前连接数: select count(1) from pg_stat_activity

最大连接数: show max_connections;

当前库的最大连接数是200, 当前连接数是196,这是马上就连接耗尽的节奏,于是修改最大连接数是400(需要重起DB), 问题解决.

 

3.原因

开发的同事在使用一款DB管理软件,软件连接到DB后, 连接一直存在,直到达到最大连接数,没有DB连接可用

glassfish上部署的应用在domain启动时就会申请连接, initialSize为5, 再加上当前连接数,超过最大连接了,所以DB的连接没有申请成功,应用启动失败, 表现出来的现象就是 404

由于现在处于开发阶段,部署频繁,能申请到DB连接,访问就正常,否则就是404, 这就是时好时坏的原因

 

posted @ 2017-09-26 18:16  码农加一  阅读(430)  评论(0编辑  收藏  举报