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
or
SELECT 1 FROM INFORMATION_SCHEMA.SYSTEM_USERS

  • HSQLDB (tested with version 1.8.0.10)

VALUES 1
or
SELECT 1 FROM SYSIBM.SYSDUMMY1


SELECT 1 FROM SYSIBM.SYSDUMMY1

  • DB2

select count(*) from systables

    • Informix

 

2,

com.sn.bim.com.ThriftClientTSocketObjectFactory - java.net.SocketTimeoutException: connect timed out

 Springboot数据库连接池报错SocketTimeoutException

posted on 2018-09-14 11:36  让代码飞  阅读(271)  评论(0)    收藏  举报

导航

一款免费在线思维导图工具推荐:https://www.processon.com/i/593e9a29e4b0898669edaf7f?full_name=python