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

Odpovedet emailem