JDBI:如何在断开连接后管理重新连接

问题描述 投票:0回答:1

使用带有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,则恢复连接,但我需要更多连接。

感谢名单!

database dropwizard jdbi
1个回答
1
投票

添加配置checkConnectionOnBorrow:true这将在每次从池中借用对象并重新连接到DB时验证连接

© www.soinside.com 2019 - 2024. All rights reserved.