Вы не должны писать пул соединений. Даже если вы хотите управлять пулом самостоятельно (вместо того, чтобы позволить контейнеру это делать), вам следует использовать для этого библиотеку (например, Commons DBCP).
Если вы хотите удалить все из хеша, вы должны использовать hash.clear ().
Если вы хотите избежать исключения ConcurrentModificationException, вам нужно добавить синхронизацию.
Если вы удаляете ссылки на Соединения (вы уверены, что имеете в виду Источники данных?), Обязательно сначала закройте () их.