springboot 项目在lunix上自动关闭
问题:公司springboot项目在lunix系统上自动关闭
查看日志如下:

原因:(1)数据库连接池在长时间无操作的情况下,lunix自动停止服务
(2)项目中使用了libthrift连接池,rpc机制,系统长时间不使用,报连接超时异常,导致关闭系统
解决方法:
打开application.properties文件,加入下面配置:
spring.datasource.testOnBorrow=true
spring.datasource.validationQuery=SELECT 1
第一句的意思是:自动重连
第二句的意思是:验证连接的sql语句
关于validationQuery
SELECT 1并不是对所有的数据库都通用,这个得按照实际情况,下面有一个建议:
SELECT 1
- H2
- MySQL
- Microsoft SQL Server (according to NimChimpsky)
- PostgreSQL
- SQLite
SELECT 1 FROM DUAL
- Oracle
SELECT 1 FROM any_existing_table WHERE 1=0
orSELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS
- HSQLDB (tested with version 1.8.0.10)
VALUES 1
orSELECT 1 FROM SYSIBM.SYSDUMMY1
- Apache Derby (via daiscog)
SELECT 1 FROM SYSIBM.SYSDUMMY1
- DB2
select count(*) from systables
- Informix
2,
com.sn.bim.com.ThriftClientTSocketObjectFactory - java.net.SocketTimeoutException: connect timed out
好记性不如烂笔头
浙公网安备 33010602011771号