Очистка пулов соединений JDBC - PullRequest
0 голосов
/ 09 января 2009

Кто-нибудь знает лучший (или любой) способ очистки пула соединений JDBC? Я не могу найти ничего очевидного в документации. Похоже, пулы соединений не предназначены для удаления.

Моя текущая мысль - удалить все источники данных из хеша, в котором мы их храним, что заставит наш код создавать новые. Однако моя первая попытка вызывает исключение ConcurrentModificationException.

Ответы [ 3 ]

1 голос
/ 09 января 2009

Вы не должны писать пул соединений. Даже если вы хотите управлять пулом самостоятельно (вместо того, чтобы позволить контейнеру это делать), вам следует использовать для этого библиотеку (например, Commons DBCP).

Если вы хотите удалить все из хеша, вы должны использовать hash.clear ().

Если вы хотите избежать исключения ConcurrentModificationException, вам нужно добавить синхронизацию.

Если вы удаляете ссылки на Соединения (вы уверены, что имеете в виду Источники данных?), Обязательно сначала закройте () их.

0 голосов
/ 09 января 2009

Вы не должны писать пул соединений. Это обрабатывается сервером приложений Java EE.

0 голосов
/ 09 января 2009

Почему вы хотите удалить, а не создавать его на первом месте.

Это должно быть основано на вашем сервере приложений, возможно, некоторые JNDI-программы могут помочь.

...