Urcite optimistic lock s verzovanim zaznamu, celkem sikovne to podporuje Hibernate jak jiz tady padlo. Pokud budete mit graf objektu, tak se vyplati Coarse-Grained Lock viz http://www.martinfowler.com/eaaCatalog/coarseGrainedLock.html, ale to uz za si budete muset naimplementovat sam...

Honza napsal(a):
Zdravim,

muj dotaz se primo netyka Javy, ale spise navrhu aplikaci. Doufam ze neni prilis off-topic.

Jak se ve viceuzivatelskem prostredi resi sychronizace a zamykani persistetnich dat?

At uz pisu dvou nebo tri vrstvou aplikaci, vzdycky se nakonec potkam s problemem, kdy si jeden uzivatel vyzada nejaky objekt (ktery v DB reprezentovan nekolika zaznamy v ruznych tabulkach) a tento objekt upravuje nebo prohlizi.

V pripade, ze s timto objektem bude chtit pracovat i jiny uzivatel, tak mu musim zmeny na takovemto objektu zakazat (zamek uz vlastni jiny uzivatel).

Jedna se o klasickou situaci read/write zamku branici vzniku inkonzistentnich dat. Read zamek muze mit kdokoli. Write zamek muze mit jen jeden.

Napadlo me nekolik zpusobu reseni, ale zadny jsem si zatim nedokazal obhajit jako zivota schopny (na mapovani objektu DB-Java pouzivam vlastni knihovnu). Resi nektere opensource frameworky tuto problematiku? Resite ji vy ve svych aplikacich? Jak?

Predem velice dekuji za jakekoly ohlasy.

Honza


--
S pozdravem Roman "Dagi" Pichlik

/* http://www.sweb.cz/pichlik/ Blog pro kodery */


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________

Odpovedet emailem