Hi!

"Bordet, Simone" wrote:
> I will repost here a question that Ole issued some time ago, that is now
> under my fingers. I've gone through the specs, but haven't found nothing
> related.
> 
> If I have a call to an Entity Bean with *no* transaction, and another call
> for the same bean with a transaction is issued by another client, current
> implementation will run concurrently these calls (while the opposite case,
> first a call with tx and then the one with no tx makes the second one
> waiting).
> 
> The question is if I should make the second call (the one with tx) wait.
> 
> And what about 2 (or more) concurrent calls both with no tx associated (run
> concurrently or let the second wait) ?

Is this really the current case? If so it is terrible, and quite
astonishing! I am quite certain that the previous cache did not allow
this, so this must be a recent error.

Under no circumstance may two threads execute the same instance of an
EJB, regardless of type. Tx or no tx. This is fundamental. The only
exception to this is when one transaction uses reentrant calls, but this
is still considered to be one logical thread.

You must as soon as possible change so that this is enforced.

And yes, this is quite explicitly stated in the specs (don't know the
page right now, but I am very certain).

regards,
  Rickard


Reply via email to