使用带有JDBI的dropwizard,到现在如果切断数据库连接并恢复它,请求之后就不再起作用了。
我的数据库配置是:
database:
driverClass: org.postgresql.Driver
user: ${USER}
password: ${PASSWORD}
url: ${URL}
properties:
charSet: ${CHARSET:-UTF-8}
maxWaitForConnection: ${MAX_WAIT_FOR_CONNECTION:-1s}
validationQuery: ${VALIDATION_QUERY:-"SELECT 1"}
validationQueryTimeout: ${VALIDATION_QUERY_TIMEOUT:-3s}
initialSize: ${INITIAL_SIZE:-8}
minSize: ${MIN_SIZE:-8}
maxSize: ${MAX_SIZE:-32}
checkConnectionWhileIdle: ${CHECK_CONNECTION_WHILE_IDLE:-false}
evictionInterval: ${EVICTION_INTERVAL:-10s}
minIdleTime: ${MIN_IDLE_TIME:-10s}
removeAbandoned: ${REMOVE_ABANDONNED:-true}
removeAbandonedTimeout: ${REMOVE_ABANDONNED_TIMEOUT:-10s}
我注意到如果initialSize = minSize = maxSize = 1,则恢复连接,但我需要更多连接。
感谢名单!
添加配置checkConnectionOnBorrow:true这将在每次从池中借用对象并重新连接到DB时验证连接