Hey Lennart,

> Sorry, but i has to bring this up again. Need some clear 
> answers to calm
> down our customers :)

:)

> A scenario:
> 
> The EJB Supermarket has a newly opened store where they has 
> specialized
> in selling EJB related software. The have a super modern line 
> of 30 cash
> registers all running a new sale system that of course is developed
> using EJB.
> 
> Ok, the mega seller for the last couple of weeks is a box 
> with the jBoss
> EJB server, bundled with some utility programs for only $49, and that
> includes 1 year of support! As you all understand there are 
> more or less
> always a queue of peoples with a jBoss box in their hand.
> 
> Now what happens in this new system when a cashier is 
> scanning an item?
> There is a call to a session bean called MySession. This bean will in
> turn do a findByPrimaryKey to the entity bean Item and when 
> he gots the
> remote interface he will query the bean of its price using method
> getPrice and its description using method getDescription.
> 
> The Item bean is configured to use Commit Option A, since there is no
> others interacting with the database. But the consultants that has
> developed the system has now been argueing for a while what it means
> that the ejb server is using pessimistic concurrency? They have read a
> couple of threads on the mailing lists how this works during
> transactions: an entity bean will serialize calls from 
> multiple clients
> that calls from different transactions. 

Correct.

> But in this case all calls are
> made without transactions. 

Noo, why ? They will run with their transactions, like a normal call.
Oh wait, you mean that you explicitely set TRANSACTION_NEVER in the
deployment descriptor ? If so, not good IMHO.

> What does pessimistic concurrenct mean in
> that situation?
> 
> Say that cash register 1 and 2 at the same time scans a jBoss box,
> instanciates a MySession which will call the findByPrimaryKey for the
> jBoss item to get price/description. Will there be 1 or 2 instances of
> the jBoss item? 

One.

> If one: how will that instance serv the 
> calling clients?
> Will they be handled one after the other? 

Yes. The second waits for the first to finish.

> What about the readonly flag

Uh ?
Do you mean the isModified method on the bean class ? This is used to save
writes to the DB, not for concurrent calls, but can be useful in your case
also, since you save a DB write.

HTH,

Simon

> that you may set on a bean, how will that change the situation?
> 
> Thanks,
> Lennart
> -- 
> mailto:[EMAIL PROTECTED]
> http://www.benefit.se/english
> 
> 
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> List Help?:          [EMAIL PROTECTED]
> 


--
--------------------------------------------------------------
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
List Help?:          [EMAIL PROTECTED]

Reply via email to