Thread View: pl.comp.lang.java
8 messages
8 total messages
Started by Jacek Czerwinski
Fri, 30 Sep 2011 05:47
Problem koderski nad JDBC
Author: Jacek Czerwinski
Date: Fri, 30 Sep 2011 05:47
Date: Fri, 30 Sep 2011 05:47
9 lines
1093 bytes
1093 bytes
W pewnym punkcie kodu mam Connection, i trzeba użyć API które używa DataSource. Nie widzę w Connection możliwości wydobycia 'fabryki' która to stworzyła. a) ślepy jestem? b) wymysliłem z automatu zaimplementowac lokalne lipne DataSurce które zwróci powyższe connection. Objętość implementacji spora, ale prawie cała z automatu. c) ..... ?
Re: Problem koderski nad JDBC
Author: Tomek Łabuz
Date: Fri, 30 Sep 2011 06:09
Date: Fri, 30 Sep 2011 06:09
8 lines
1204 bytes
1204 bytes
W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: > W pewnym punkcie kodu mam Connection, i trzeba użyć API które używa > DataSource. Nie widzę w Connection możliwości wydobycia 'fabryki' która > to stworzyła. > Najczęściej ma się DataSource i pobiera z niego Connection czyli na dobrą sprawę dostęp do DataSource jest.... a odwrotnie.... a po grzyba?
Re: Problem koderski nad JDBC
Author: sielim
Date: Fri, 30 Sep 2011 07:41
Date: Fri, 30 Sep 2011 07:41
19 lines
1774 bytes
1774 bytes
Użytkownik "Tomek Łabuz" <javatrainings@gmail.com> napisał w wiadomości news:j63mfg$egv$1@news.onet.pl... >W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: >> W pewnym punkcie kodu mam Connection, i trzeba użyć API które używa >> DataSource. Nie widzę w Connection możliwości wydobycia 'fabryki' która >> to stworzyła. >> > > Najczęściej ma się DataSource i pobiera z niego Connection czyli na > dobrą sprawę dostęp do DataSource jest.... a odwrotnie.... a po grzyba? No właśnie ... Jacku, wyjaśnij, po co Ci DataSource na tak niskim poziomie, na którym masz już tylko Connectiony. Chcesz z kodu niskopoziomowego związanego z obsługą jednego Connectiona otwierać kolejne Connectiony czy coś w tym stylu ? Dobrze byłoby zajrzeć jak są robione Connection poolingi itp.
Re: Problem koderski nad JDBC
Author: Jacek Czerwinski
Date: Fri, 30 Sep 2011 07:50
Date: Fri, 30 Sep 2011 07:50
24 lines
1862 bytes
1862 bytes
W dniu 2011-09-30 08:09, Tomek Łabuz pisze: > W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: >> W pewnym punkcie kodu mam Connection, i trzeba użyć API które używa >> DataSource. Nie widzę w Connection możliwości wydobycia 'fabryki' która >> to stworzyła. >> > > Najczęściej ma się DataSource i pobiera z niego Connection czyli na > dobrą sprawę dostęp do DataSource jest.... a odwrotnie.... a po grzyba? Z tym grzybem to racja. W głębokim komponencie, mam ResultSeta (komponenty są na RS zorientowane, przetwarzają go) i Connection pozyskane z ResultSeta Connection con = rs.getStatement().getConnection();//.getMetaData() ... potrzebuję sobie doczytać z bazy, czego nie mam w tym RS. Przemyślałem, może być ale nie musi jeszcze jeden problem. Jeśli Connection coś robi, i dołożę mu przed zakończeniem, czy można się spodziewać np. braku izolacji błędów z obu "wątków" ? Środowisko użycia komponentu mieszane, serwer/desktop, więc nie chciałbym JNDI itp.
Re: Problem koderski nad JDBC
Author: Tomek Łabuz
Date: Fri, 30 Sep 2011 08:24
Date: Fri, 30 Sep 2011 08:24
39 lines
2502 bytes
2502 bytes
W dniu 2011-09-30 09:50, Jacek Czerwinski pisze: > W dniu 2011-09-30 08:09, Tomek Łabuz pisze: >> W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: >>> W pewnym punkcie kodu mam Connection, i trzeba użyć API które używa >>> DataSource. Nie widzę w Connection możliwości wydobycia 'fabryki' która >>> to stworzyła. >>> >> >> Najczęściej ma się DataSource i pobiera z niego Connection czyli na >> dobrą sprawę dostęp do DataSource jest.... a odwrotnie.... a po grzyba? > > Z tym grzybem to racja. > > W głębokim komponencie, mam ResultSeta (komponenty są na RS > zorientowane, przetwarzają go) i Connection pozyskane z ResultSeta > Connection con = rs.getStatement().getConnection();//.getMetaData() to po co Ci DataSource z którego pochodzi? > ... potrzebuję sobie doczytać z bazy, czego nie mam w tym RS. mam nadzieję, że nie w pętli dla każdego wiersza z głównego rs? :) > > Przemyślałem, może być ale nie musi jeszcze jeden problem. Jeśli > Connection coś robi, i dołożę mu przed zakończeniem, czy można się > spodziewać np. braku izolacji błędów z obu "wątków" ? > co mu dołożysz i co masz na myśli pisząc o izolacji błędów, bo trochę nie łapię? może mało kawy... :) > Środowisko użycia komponentu mieszane, serwer/desktop, więc nie > chciałbym JNDI itp. co nie zmienia tego, że możesz używać DataSource jako głównego interfejsu dostępu do danych i mieć go dostępnego w dowolnym komponencie, chyba nie używasz w kodzie bezpośrednio pozyskania DataSource ze środowiska tylko jakiś locator czy fabryka?
Re: Problem koderski nad JDBC
Author: Jacek Czerwinski
Date: Fri, 30 Sep 2011 09:01
Date: Fri, 30 Sep 2011 09:01
46 lines
2829 bytes
2829 bytes
W dniu 2011-09-30 10:24, Tomek Łabuz pisze: > W dniu 2011-09-30 09:50, Jacek Czerwinski pisze: >> W dniu 2011-09-30 08:09, Tomek Łabuz pisze: >>> W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: > > to po co Ci DataSource z którego pochodzi? Dla API Spring JDBC. Polubiłem to i ujednolicam się do niego. Komponent (jako klasa abstrakcyjna) robi przekształcenia z pola z RS, jak formatowanie i podobne, tej skali złożoności. Jednak TYM RAZEM musi sobie dociągnąć więcej informacji. > >> ... potrzebuję sobie doczytać z bazy, czego nie mam w tym RS. > > mam nadzieję, że nie w pętli dla każdego wiersza z głównego rs? :) Dla nielicznych a najczęściej pojedynczego, oraz cachowane, ale nawet cache pierwszy raz trzeba załadować. Wiem o czym mówisz ;) , kiedyś mi się coś podobnego puściło przypadkiem dla całej tabeli w pionie. Zdążyłem nie tylko kawę, ale i śniadanie. Tu nie będzie problemu. > > co mu dołożysz i co masz na myśli pisząc o izolacji błędów, bo trochę > nie łapię? może mało kawy... :) Niektóre środowiska nad bazą (ODBC chyba, Borlanda własne) mają z tym problem, najpewniej i najbardziej zalecane jest dokończyć fetch'owanie w jednym połączeniu, inaczej można dostać wyjątek (kod błędu) z "tego drugiego". > > co nie zmienia tego, że możesz używać DataSource jako głównego > interfejsu dostępu do danych i mieć go dostępnego w dowolnym > komponencie, chyba nie używasz w kodzie bezpośrednio pozyskania > DataSource ze środowiska tylko jakiś locator czy fabryka? Zerkałem, może za wąsko, na coś w rodzaju lokatora albo fabryki, przenośne między serwerem a desktopem (aplikacja musi być prosta w instalacji, najlepiej jeden JAR przygotowany dla firmy!), jak na razie nie trafiłem. Więc fajnego lokatora (aby nie podawać w parametrach) ciągle szukam. Takie JNDI dla ubogich ;)
Re: Problem koderski nad JDBC
Author: Tomek Łabuz
Date: Fri, 30 Sep 2011 09:19
Date: Fri, 30 Sep 2011 09:19
48 lines
3179 bytes
3179 bytes
W dniu 2011-09-30 11:01, Jacek Czerwinski pisze: > W dniu 2011-09-30 10:24, Tomek Łabuz pisze: >> W dniu 2011-09-30 09:50, Jacek Czerwinski pisze: >>> W dniu 2011-09-30 08:09, Tomek Łabuz pisze: >>>> W dniu 2011-09-30 07:47, Jacek Czerwinski pisze: > >> >> to po co Ci DataSource z którego pochodzi? > > Dla API Spring JDBC. Polubiłem to i ujednolicam się do niego. > no świetnie, skoro masz gdzieś pobieranie DataSource to pobierz go teraz dodatkowo w swoim komponencie skoro masz taką potrzebę, po co kombinować z jakimiś dodatkowymi proxy itp po drugie której wersji jdbc używasz? może wystarczy bieżące Connection? czy ciągniesz z innej bazy dodatkowe rzeczy ale z kontekstu wypowiedzi sądzę, że nie > Niektóre środowiska nad bazą (ODBC chyba, Borlanda własne) mają z tym > problem, najpewniej i najbardziej zalecane jest dokończyć fetch'owanie w > jednym połączeniu, inaczej można dostać wyjątek (kod błędu) z "tego > drugiego". pewnie dlatego można sobie dowolnie ustawiać bloki try catch żeby się nie pogubić co z czego wyleciało >> >> co nie zmienia tego, że możesz używać DataSource jako głównego >> interfejsu dostępu do danych i mieć go dostępnego w dowolnym >> komponencie, chyba nie używasz w kodzie bezpośrednio pozyskania >> DataSource ze środowiska tylko jakiś locator czy fabryka? > Zerkałem, może za wąsko, na coś w rodzaju lokatora albo fabryki, > przenośne między serwerem a desktopem (aplikacja musi być prosta w > instalacji, najlepiej jeden JAR przygotowany dla firmy!), jak na razie > nie trafiłem. Więc fajnego lokatora (aby nie podawać w parametrach) > ciągle szukam. Takie JNDI dla ubogich ;) no ale taki prosty locator DataSource dla ubogich to jeden dzień roboty i to zakładając, że masz dużo przerw śniadaniowych, obiadowych, na siusiu, telewizję i dodatkowo się opierniczasz.... jak to wszystko odrzucisz to możesz to machnąć w kilkadziesiąt minut albo i mniej a jak się uprzesz choć nie wiem po co to możesz sobie jndi na desktopie postawić :) btw - skoro używasz springa to czemu jego nie wykorzystać? przecież on nie jest ograniczony do pracy tylko na serwerach?
Re: Problem koderski nad JDBC
Author: Tomek Łabuz
Date: Fri, 30 Sep 2011 09:20
Date: Fri, 30 Sep 2011 09:20
5 lines
1178 bytes
1178 bytes
> btw - skoro używasz springa to czemu jego nie wykorzystać? przecież on > nie jest ograniczony do pracy tylko na serwerach? mam na myśli kontener Springowy of kors a nie jakieś tam API czy coś :)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads