Comment #3 on issue 2067 by tom.uijldert: SLEE not compliant with JSLEE 1.1, par. 8.6.6 (concurrency control)
http://code.google.com/p/mobicents/issues/detail?id=2067

Ok, let me see if I can get my head around this:

In this case, an event in a parentSbb selects and executes an object for that
Sbb entity.

The subsequent call of a childSbb SbbLocalObject-method does not select a
childSbb object but just executes this synchronously within the parentSbb object.

The subsequently triggered event on the childSbb selects a childSbb object that can execute the event-handling code in parallel since the concurrency control semantics do not apply here.

Hence, any SbbLocalObject-method code has access to an Sbb entities' state but
cannot change it.

So the solution here is to refactor the "disconnect()"-method into a "disconnect" event that is fired on the childSbb.

Is this correct and is that what I was overlooking?

If so, the difference is fairly subtle and I may not be the only one to implicitly assume that an SbbLocalObject method-invocation would select an Sbb-object for that
(childSbb-) entity.

Thanks in advance for any clarification.

Regards,
Tom.

Reply via email to