I could assure you that in ATM example, if you make a "commit" every time
you create or destroy a row in the database through SQL (ORACLE) the
Automatic Teller MAchine will detect all the changes.

I don't know why but this is the way it is.


More opinions ???

        -------------------------------------------------------------
        David Sierra Fern ndez
        Ingeniero Tecnico de Telecomunicaci¢n
        AULA RETECAL (CEDETEL)   Universidad de Valladolid
        Campus Miguel Delibes   E-Mail: [EMAIL PROTECTED]
        47011 Valladolid (SPAIN)
        --------------------------------------------------------------

 -- Sierr@ --

On Fri, 21 Jul 2000, Robert Krueger wrote:

> 
> this is incorrect. the container has to ensure that when a transaction is 
> started the entity beans involced in that transaction have to be in sync 
> with the underlying datastore. depending on your transaction isolation 
> level this locks the record associated with your entity in the db during 
> the transaction. if you modify the record with another client, the next 
> transaction that is started and involves that entity should reload the 
> current state, otherwise the container doesn't conform to the spec. so if 
> you deleted records, the load operation should throw an exception. however, 
> most containers (including orion) allow you to specify a flag that 
> indicates that your server is the only thing writing to the database to 
> avoid the expensive load operations at the beginning of each transaction. 
> if you specify that and still modify the database from outside, you're on 
> your own and can no longer rely on the spec. the effect that you cannot 
> recreate an entity that you deleted manually looks like it's a caching 
> problem (somewhere there's a hashtable of primary keys kept in memory 
> that's not updated when the database record is deleted manually). so if you 
> use the exclusive-write-access option then you're to blame. if you don't, I 
> guess orion shouldn't behave that way and you should probably consider it a 
> bug and post it to [EMAIL PROTECTED] but I might be wrong.
> 
> regards,
> 
> robert
> 
> 
> At 14:48 20.07.00 , Nick Newman wrote:
> >Hi Rick,
> >
> >The EJB spec says that once the entity bean is loaded from the database,
> >the container (Orion) doesn't have any responsibility to keep track of any
> >possible changes to the database.  So what you are doing is basically
> >sneaking behind Orion's back.
> >
> >The consequences of this depend on the circumstances, I believe.  Here's my
> >best guess ...
> >
> >Suppose the server had not been busy for quite a while.  Under these
> >conditions Orion would have written all its entity beans back to the DB and
> >removed them from memory. If you now empty the DB, then all the entity
> >beans are gone (in the sense that trying to find one from its primary key
> >will fail).
> >
> >If the server is extremely busy when you emtied the DB, then all the entity
> >beans may well have been in memory, and they will get recreated in the DB
> >when Orion writes them out.
> >
> >Hope that helps.
> >
> >Nick Newman, SCIENTECH
> 
> (-) Robert Krüger
> (-) SIGNAL 7 Gesellschaft für Informationstechnologie mbH
> (-) Brüder-Knauß-Str. 79 - 64285 Darmstadt,
> (-) Tel: 06151 665401, Fax: 06151 665373
> (-) [EMAIL PROTECTED], www.signal7.de
> 
> 
> 


Reply via email to