Докато можете да използвате стария трик "изберете 1 от двойно", недостатъкът на това е, че издава допълнителна заявка всеки път, когато заемате връзка от пула. За големи обеми това е разточително.
JBoss предоставя специален валидатор за връзка, който трябва да се използва за Oracle:
<valid-connection-checker-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
</valid-connection-checker-class-name>
Това използва собствения метод ping() в класа Oracle JDBC Connection и използва основния мрежов код на драйвера, за да определи дали връзката е все още жива.
Въпреки това, все още е разточително да изпълнявате това всеки път, когато дадена връзка е заета, така че може да искате да използвате средството, където фонова нишка проверява връзките в пула и безшумно изхвърля мъртвите. Това е много по-ефективно, но означава, че ако връзките да умрат, всеки опит да ги използвате преди проверката на фоновата нишка ще бъде неуспешна.
Вижте wiki документите за това как да конфигурирате проверката на фона (потърсете background-validation-millis
).