Hi!

Thomas Hofmann wrote:
> I have one simple question:
>
> Assume there are an entity bean A and two users (clients) U1 and U2. U1
> finds the bean A with ejbFindByPrimaryKey(PK). He intends to update the
> data represanted by bean A.
> How can U2 be informed that bean A will currently be updated by another
> user if he also wants to update bean A (must U1 do a ORA SELECT FOR UPDATE in
> the ejbFind.. method see
> above)? U2 should be able to read the data but he has to know that he
> cannot change the data (He is reading old data). If I use isolation
> level "TRANSACTION SERIALIZABLE" then U1 won't be able to read the data,
> will it ?

This is related to pessimistic vs optimistic locking. EJB containers can
be either, and the underlying database can be either. Normal transaction
settings will take care of the above. If you use optimistic locking then
clients will always be able to read data, but updates may fail. I
suggest that you read up on locking from any database book.

> This scenrio can happen inside a update/maintenance GUI dialog. But customers
> want be informed before they open the update dialog with a little message.
> The data is only for reading displayed !

Now this is really something else than the above. This is for long
transactions. This topic has been covered extensively, so I suggest that
you check the archives.

Essentially, you will have to implement soft locking to do the above.
Pretty straightforward, and you have very good control.

regards,
  Rickard

--
Rickard �berg

@home: +46 13 177937
Email: [EMAIL PROTECTED]
http://www.dreambean.com
Question reality

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to