[Javalist] Adatbázis lock

Vig, Balázs balazs.vig at datasolutions.hu
2012. Sze. 14., P, 12:56:19 CEST


De nekem row lock kell: csak az adott sorral ne szórakozzon senki, a többi
sort lehet szerkeszteni.

Most azon gondolkodom, hogy oracle alatt a dbms_lock-kal létrehozok egy
lockot: myapplock[rowid] néven, és amikor másik session akar lokkolni,
akkor ellenőrzi az ilyen id-jű foglalás meglétét: ha nem sikerül lokkolni,
akkor keressen magának másik elfoglaltságot ;)

Egy-egy folyamat percekig is eltarthat (extrém esetben órák), ilyenkor
fontos, hogy azért más feladat tudjon haladni. Mivel ilyen hosszú időről
beszélünk, és a folyamat közben lehet (van) commit is, ezért nem állíthatom
be, hogy a tranzakció végén automatikusan oldja a lokkot, azt nekem kell
manuálisan a folyamat végén. Ez OK, de mi van akkor, ha egy kliens elszáll?
Ilyenkor a lock megmarad, de nem lesz senki, aki feloldja. Tehát kell
valami takarító mechanizmus is....

Vagy simán csak megmondom, hogy egyszerre csak egy klienst futtassanak? ;)
(nem kéne...)

Üdv:
*Vig Balázs
*




2012. szeptember 14. 12:15 Keresztes Jozsef írta, <jkeresztes at vati.hu>:

> Vagyis konkrétan ezt kell csinálni:****
>
> ** **
>
> lock table szemafor in exclusive mode;****
>
> update table_a …;****
>
> insert into table_b …;****
>
> …****
>
> commit;****
>
> ** **
>
> Jelöljetek ki egy táblát (a példában “szemafor”), de lehet máshogy is…****
>
> ** **
>
> Joe****
>
> ** **
>
> ** **
>
> *From:* Vig, Balázs [mailto:balazs.vig at datasolutions.hu]
> *Sent:* Friday, September 14, 2012 12:05 PM
> *To:* Java lista
> *Subject:* [Javalist] Adatbázis lock****
>
> ** **
>
> Sziasztok!
>
>
> Van egy Hibernate alapú kliensem, ami több példányban is futhat. A kliens
> feladata, hogy az adatbázis objektumokon műveleteket végezzen.
> Hogyan lehet azt garantálni, hogy egy objektummal csak az egyik kliens
> foglalkozhasson: ha az egyik már elkezdett dolgozni rajta, akkor másik már
> ne tudjon.
>
> Támogatja-e ezt valahogy a hibernate, vagy a jdbc? (eddig nem találtam
> erre semmit). Vagy nekem kell valami mókolnom az adatbázisban?
>
> Üdv:
> *Vig Balázs
>
> *****
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120914/557dd8aa/attachment.html>


További információk a(z) Javalist levelezőlistáról