Pokud jde o synchronized, tak jsem si zrovna nedavno nechutne nabehl, protoze to co bylo uvnitr synchronized bloku trvalo dele nez jsem si myslel a pak transformace malinkeho XSLT trvala jednou 7 minut a jednou mene nez vterinu, protoze vsichni cekali ve fronte pred synchronized blokem.

Rozhodne souhlasim s Jirim, ze na datovou konzistenci ma dohlizet databaze a ne business logika. Jinak vam proste jednou nekdo sprasi data pres TOAD nebo sqlplus a budete se divit ;-)

Tom

Jiří Mareš napsal(a):
Synchronized nemusi byt idealni, protoze je to synchronized pro cely system a ne jenom pro jednoho uzivatele, navic co
kdyz vam to nekdy v budoucnu pobezi na vice strojich ...

Ja myslim, ze prave z tohoto duvodu vznikly transakce, tak je kurna pouzivejte ... a ze se az na konci zjisti, ze se
neco delalo zbytecne, no pak tu mame rollback, ne?

jeeff napsal(a):
  
Ahoj,

to je presne jasne aj mne, v povodnom prispevku som pisal ze ako
najjednoduchsie riesenie vidim dat danu metodu synchronized. Chcel som
len vediet, ci je to spravne riesenie, alebo pouzivate nejaky iny postup.

Bojim sa toho, ze ked z jednej synchronized metody zavolam inu
synchronized metodu ze mi vznikne deadlock, takze preto sa snazim najst
aj ine riesenie.


Kamil Podlesak wrote:
    
jeeff wrote:

      
Takze znova opakujem, storno nakupu je len priklad, moze to byt
cokolvek co nechcem aby sa cez web rozhranie dalo zavolat 2x nez to
zbehne cele do konca. Vobec to nemusi pracovat s databazou. Riesite
taketo veci, alebo si poviete, ze taka situacia nenastane a kaslete
na to?
        
Samozrejme, pro vsechny multithreadove aplikace (a vubec nezalezi na
tom zda jsou webove ci ne) plati, ze je nutne synchronizovat (ci
pouzit nejakou sofistikovanejsi techniku).

Pouzivani synchronized neni neco "navic" - je to jedna ze zakladnich
veci nutna pri psani v Jave. Vsude a stale. Tim samozrejme nemyslim ze
by se vsude melo cpat synchronized, chran buh - jen je nutne nad tim
premyslet.

      
    

  

Odpovedet emailem