2013-03-03 12 views

Odpowiedz

9

Od docs:

Fabryka połączeń ze źródłem danych fizycznej że ten obiekt DataSource reprezentuje. Alternatywą dla obiektu DriverManager jest obiekt DataSource, który jest preferowanym sposobem uzyskania połączenia.

Faktycznie, DataSource jest sprzedawca Connection s i ma szereg wdrożeń, które działają w różny sposób. Takich jak:

  1. podstawowe realizacji - produkuje standardowego obiektu Connection

  2. realizacji puli połączeń - tworzy obiekt połączenia automatycznie udziału w puli połączeń. Ta implementacja działa z menedżerem puli połączeń średniego poziomu.

  3. Implementacja transakcji rozproszonych - tworzy obiekt połączenia, który może być używany do transakcji rozproszonych i prawie zawsze uczestniczy w puli połączeń. Ta implementacja działa z menedżerem transakcji średniego szczebla i prawie zawsze z połączeniem menedżera pulingu.

-1

Źródło danych jest źródłem danych, połączenie jest sterownikiem.

2

Połączenie to połączenie :) DataSource to menedżer połączeń (pula połączeń).

+0

Nie jestem pewien, czy ta odpowiedź jest w 100% dokładna i poprawna. –

-1

DataSource jest chory pomysł w swojej obecnej formie, jak gdyby była ona przeznaczona do abstrakcyjnych interakcji nie powinno powrócić jakiś związek SQL do wymiany w pierwszej kolejności. Również jest to przesada, a XA to fantastyczna koncepcja, którą niektórzy słono płacili za brak rzetelnej implementacji na świecie (mam na myśli, że wszyscy komercyjni realizatorzy komercyjni po prostu zawodzą i ujawniają biznes ... ktoś został ranny z powodu tego w finansach, ale nie wspomnę o tym nazwy). Zasadniczo, niezależnie od tego, czy Sun lub Oracle go rekomenduje, powoduje to nadmierną inżynierię i pewne techniczne zabrudzenia w kodzie (zajmowanie się kontekstami, dodatkowe kroki, aby uzyskać dostęp do danych, niektóre konfiguracje zewnętrzne ... i na końcu jest to nadal specyficzne dla implementacje dostawców). Niektóre z opracowanych rozwiązań coroporate zajmują się łączeniem, odzyskiwaniem połączeń e.t.c znacznie lepiej w oparciu o zwykłe połączenia i DriverManager niż implementacje DataSource dostarczane przez dostawców DBMS przedsiębiorstwa.

Dla płyty, z którą pracowałem, opieram ją na faktach napotkanych w różnych miejscach. A jeśli w to wątpisz, zapytaj, dlaczego w firmowej konfiguracji Hibernuj możesz zobaczyć zwykły adres URL JDBC. Wiele z nich po prostu zrzuca koncepcję heavyweigtta J2EE i robi lekki ... również za pomocą zwykłych połączeń opartych na DriverManager.

Chcesz rozpocząć swoją karierę, a następnie korzystać z XA DataSources i odzyskiwania nieudanych transakcji, w których nieudana implementacja XA nie powiodła się.

Powiązane problemy