Я бы использовал apache commons dbcp: https://commons.apache.org/proper/commons-dbcp/
Если у вас есть Properties
объект со всеми параметрами JDBC, вы можете создать пул соединений с:
private static DataSource createDataSource(Properties props)
throws Exception {
return BasicDataSourceFactory.createDataSource(props);
}
Если вы хотите эмулировать поведение сервера приложений, вы можете поместить этот источник данных в контейнер JNDI;в противном случае вы можете просто присвоить его статической переменной.
Теперь, когда вам нужно соединение JDBC, вы делаете:
try (Connection cnt = myDataSource.getConnection();
PreparedStatement stmt = cnt.prepareStatement("...")) {
// lots of very useful things
}