JDBC Connection a wielowątkowość

Odpowiedz Nowy wątek
2011-12-01 23:17
2

Witam
Piszę aplikację wielowątkową. Serwer po nawiązaniu połączenia z klientem odsyła całą komunikację z nim do oddzielnego wątku (takie założenie na razie ;] ).
I teraz jeżeli chodzi o operacje na bazie danych to:

  1. czy można pozwolić, aby każdy wątek korzystał z tego samego połączenia Connection ustanowionego przez serwer z bazą danych (Singleton)
  2. czy może każdy wątek powinien ustanawiać własne połączenie (ThreadLocal<connection>)
  3. czy może jeszcze jakieś inne rozwiązanie

Z góry dziękuję za sugestie.

PS. Na razie baza danych to SQLite

edytowany 1x, ostatnio: cpprogramm, 2011-12-01 23:18

Pozostało 580 znaków

2011-12-02 20:35
0

Pierwszy link po wpisaniu "jdbc multithreaded connection" do wyszukiwarki powiedział mi że nie można współdzielić tego samego połączenia.
Wątek per klient to nie jest rozwiązanie.
Jeżeli tworzysz serwer, poczytaj o JEE, może drzwi które wyważasz są już otwarte.

Pozostało 580 znaków

2011-12-02 20:45
mućka
0

Serwer powinien tworzyc pule polaczen (javax.sql.ConnectionPoolDataSource) czy pochodne. Kiedy pula jest wykonczona, serwer czeka az jakies polaczenie zostanie zwrocone. Samo czekanie jest automatycznie zaimplementowane w getPooledConnection() itp. Przy tym nalezy zwrocic uwage na to aby zawsze wywolac connection.close() poniewaz to zwraca polaczenie do puli, inaczej jest leak.
Sugerowanie JavaEE na podstawie pierwszego postu jest... hmmm.. zastanawiajace.

Można też przyjąć że wszyscy to idioci, poza tym pieprzenie się z socketami, protokołem komunikacji itp itd nie jest łatwe - galleanv 2011-12-02 20:52

Pozostało 580 znaków

2011-12-02 21:26
mućka
0

Nie wyzwalem nikogo, ani nie mowilem nic o socketach.

Pozostało 580 znaków

2011-12-02 22:01
0

Nie może być JEE bo ma być JSE, po prostu. Acha, i jeżeli komunikacja przez sockety jest taka zła, to co radzicie? ;]

edytowany 2x, ostatnio: cpprogramm, 2011-12-02 22:02

Pozostało 580 znaków

2011-12-02 22:09
mućka
0

Np. jest Java RMI.

Pozostało 580 znaków

2011-12-02 22:09
0

Nie wiem co ta aplikacja ma robić ale moze RMI?


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2011-12-02 22:18
0

OK. Dzięki, poczytam.

Aplikacja to projekt na studiach: klient w Swingu gdzie zarządza się kontem itp, serwer dla łączenia z bazą i komunikacji z klientami

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0