2013-03-28 13 views
13

muszę wiedzieć na moje rozumienie powyżej są poprawne,Różnica puli połączeń JDBC i JNDI

W puli połączeń wielokrotne połączenia z wykorzystaniem java.sql.Datasource ustawieniu.

W jdbc bezpośrednio podajemy URL połączenia i oracle.jdbc.driver.OracleDriver i jego zawsze jedno połączenie, w którym inne żądanie musi czekać, aż połączenie zakończy przetwarzanie.

A z JNDI jest podobny do bezpośredniego jdbc, w którym odsyłasz ustawienie jdbc za pomocą nazwy, abyśmy mogli określić adres URL połączenia i inne ustawienia na serwerze aplikacji, a nie związać się z aplikacją w prawo?

Odpowiedz

17

cóż, to dwie różne rzeczy.

JDBC to interfejs API bazy danych Java, a JNDI to interfejs nazw języka Java i interfejs API katalogu.

Najważniejszą rzeczą tutaj jest to, że w katalogu JNDI faktycznie przechowujesz źródło danych JDBC, więc po prostu używasz JDBC i uzyskujesz połączenie przez wyszukiwanie JNDI.

W skrócie: JDBC to dziedzina bazy danych, JNDI pozwala przechowywać obiekty w kontekście wirtualnym (katalogu), który może być lokalny, zdalny (szczegóły implementacji zwykle nie mają znaczenia).

Uzyskujesz dostęp do tego kontekstu poprzez nazwy, pozyskiwanie przechowywanych obiektów, dobrze jest dzielić się rzeczami między różnymi modułami.

Serwery aplikacji zwykle mają kontekst JNDI do współdzielenia obiektów globalnych z różnymi aplikacjami, a Pool Poolery są jednym z najbardziej czytelnych przykładów, dlaczego dzielenie się przez JNDI jest dobre. (Zdefiniuj 1 pulę połączeń, udostępnij kilka aplikacji internetowych)

3

Znam wszystkie akronimy są trudne, gdy po raz pierwszy dowiedział się Java, ale przyzwyczaić się do tego, spędzają dużo czasu na czytanie .. szczególnie oficjalny zasoby z Java/Oracle

Powiązane problemy