Maven启动应用服务时PostgreSQL-JDBC-Cleaner线程异常导致服务自动关闭的问题求助
各位好,我最近碰到一个挺棘手的问题,想请大家帮忙分析下:
我在启动一个Java应用的服务端时,发现两种启动方式结果完全不一样:
- 用Maven命令启动服务,程序只能撑30秒左右就自动关闭了,同时控制台会抛出这些警告日志:
[WARNING] thread Thread[#39,PostgreSQL-JDBC-Cleaner,5,server.Server] was interrupted but is still alive after waiting at least 15000msecs
[WARNING] thread Thread[#39,PostgreSQL-JDBC-Cleaner,5,server.Server] will linger despite being asked to die via interruption
[WARNING] NOTE: 1 thread(s) did not finish despite being asked to via interruption. This is not a problem with exec:java, it is a problem with the running code. Although not serious, it should be remedied.
- 但如果我直接运行打包好的Jar文件,服务就能一直稳定运行,直到我手动去终止它。
现在最影响使用的是:只要服务处于运行状态(不管是Maven启动的那短暂30秒,还是Jar启动的持续状态),客户端都能正常连接,调用接口方法对PostgreSQL数据库执行各种查询操作;可一旦Maven启动的服务因为那个线程问题自动关闭后,客户端再调用接口就会直接报错,因为服务已经停了。这个问题只在我用Maven启动服务时才会发生...
备注:内容来源于stack exchange,提问作者bonnyx

