Как принудительно завершить DataSource и перезагрузить пул соединений?

Возможно ли принудительное прекращение tomcat-dbcp пул соединений и какие-либо открытые соединения? И затем повторно инициализировать пул, повторно используя конфигурацию пула?

@Autowired
private org.apache.tomcat.jdbc.pool.DataSource ds;

ds.close(true);
//ds.open(); does not exists. how to reinitialize, without having to reconfigure the pool

1 ответ

Согласно исходному коду tomcat8-dbcp. После close(true) из org.apache.tomcat.jdbc.pool.DataSourceProxy вызывается переменная класса pool сбросится до нуля. Но новый объект будет создан с использованием той же конфигурации, как только другие методы получат доступ к pool переменная. Таким образом, вам не нужно повторно инициализировать источник данных.

Другие вопросы по тегам