Pule połączeń ozdabiają instancje Connection i Statement za pomocą własnych implementacji opakowań. Kiedy wołasz zamknięcie połączenia, w rzeczywistości po prostu wypuszczasz je z powrotem do puli. Kiedy wywołujesz close na przygotowanej instrukcji, w rzeczywistości po prostu zwalniasz ją z powrotem do pamięci podręcznej instrukcji połączenia. Kiedy przygotowujesz instrukcję, możesz po prostu pobierać instancję instrukcji w pamięci podręcznej z połączenia. Wszystko to jest ukryte, więc nie musisz się o to martwić.
Gdy połączenie jest nadane klientowi, nie jest już dostępne dla innego klienta, dopóki połączenie nie zostanie zwolnione z powrotem do puli. Zwykle pobierasz połączenia tylko wtedy, gdy ich potrzebujesz, a następnie zwracasz je, gdy tylko z nimi skończysz. Ponieważ połączenia są utrzymywane w puli otwarte, pobieranie i zwalnianie połączeń jest niewielkie.
Należy używać połączenia z puli tak samo, jak pojedynczego połączenia JBDC i postępować zgodnie z najlepszymi praktykami dotyczącymi zamykania zasobów, aby nie wyciekły żadne połączenia ani oświadczenia. Zobacz przykłady try/catch/finally w innych odpowiedziach.
Pule mogą zarządzać zasobami połączeń i testować je przed przekazaniem ich klientom, aby upewnić się, że nie są przestarzałe. Również pula będzie tworzyć i niszczyć połączenia w razie potrzeby.