Обычно DataSource
реализации вы получите из контейнера Java EE будет поточно-объект пулом подключения и безопасности потоков (или иначе) нижележащих JDBC соединения не действительно актуальным. Обычным шаблоном, когда вам нужно поговорить с базой данных, является вызов getConnection()
в источнике данных для получения объекта подключения, выполнения необходимых вызовов базы данных, а затем close()
. Под крышками это фактически не закрывает базовое соединение, а просто возвращает его в пул соединений для будущего использования. Любое отдельное соединение будет использоваться только одним потоком за раз.
Это идиома, используемая такими вещами, как весна JdbcTemplate
.