JDBI: Как управлять переподключением после отключения - PullRequest
0 голосов
/ 06 марта 2019

Используя dropwizard с JDBI, теперь, если обрезать соединение с БД и восстановить его, запросы больше не работают после.

Моя конфигурация базы данных:

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, то соединение восстанавливается, но мне нужно больше соединений.

Спасибо!

1 Ответ

1 голос
/ 19 марта 2019

добавить конфигурацию checkConnectionOnBorrow: true Это будет проверять соединение каждый раз, когда объект заимствован из пула и повторно подключается к БД

...