Mặc dù bạn có thể sử dụng thủ thuật cũ "chọn 1 từ kép", nhược điểm của điều này là nó đưa ra một truy vấn bổ sung mỗi khi bạn mượn kết nối từ nhóm. Đối với khối lượng lớn, điều này thật lãng phí.
JBoss cung cấp một trình xác thực kết nối đặc biệt nên được sử dụng cho Oracle:
<valid-connection-checker-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleValidConnectionChecker
</valid-connection-checker-class-name>
Điều này sử dụng phương thức ping () độc quyền trên lớp Kết nối JDBC của Oracle và sử dụng mã mạng cơ bản của trình điều khiển để xác định xem kết nối có còn tồn tại hay không.
Tuy nhiên, vẫn lãng phí khi chạy điều này mỗi khi mượn một kết nối, vì vậy bạn có thể muốn sử dụng phương tiện mà một luồng nền kiểm tra các kết nối trong nhóm và âm thầm loại bỏ những kết nối đã chết. Điều này hiệu quả hơn nhiều, nhưng có nghĩa là nếu các kết nối do đã chết, mọi nỗ lực sử dụng chúng trước khi luồng nền chạy kiểm tra sẽ không thành công.
Xem tài liệu wiki để biết cách định cấu hình kiểm tra nền (tìm background-validation-millis
).