Skip to main content

Questions about concurrency control

2 replies [Last post]
rcga
Offline
Joined: 2003-06-16
Points: 0

I have a doubt about concurrency control in the SLEE I hope someone can clarify them for me.

First of all, from the JAIN SLEE specification, we can read:

8.6.6 Concurrency control

The SLEE event router provides the following concurrency control semantics:

- The SLEE event router guarantees that there will be no concurrent execution within a single SBB
object. The SLEE will invoke all the methods of an SBB object serially. These methods include
the event handler methods, the local interface methods, and the life cycle callback methods

- The SLEE event router guarantees that two or more SBB entities will not concurrently receive
events on any single Activity Context. This allows the SBB Developer to develop event handler
methods without having to consider the implications of multiple execution threads that may interact
with the same Activity Context and the same underlying Activity object.

- Since an event is always fired on an Activity Context, the SLEE event router will always deliver
the event serially to SBB entities that may receive the event. The order in which these SBB entities
receive the event depends on their event delivery priorities (see Section 8.6.7).

With previous specification paragraph, I understand that with an unique Activity Context, there will be no problems with concurrency of events amongs SSB entities/objects, BUT...

...what happens if I have an SBB attached to two diffent activities?

...is the possible concurrency of events in these two activities controlled by SLEE?

...how can I manage this concurrence from my SBB?

According to the specification synchronized methods or synchronized statements are not allowed, so... ?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
alexandrem
Offline
Joined: 2005-10-19
Points: 0

The specifications says nothing regarding concurrent delivery of events on different activities, even if it's for the same SBB entity, so it's up to the vendor to provide the mechanism he finds to best suits the needs.

Mobicents JAIN SLEE 1.2.6.GA introduces serialization on sbb entity access, so concurrency on the same entity on different activities will not occur.

Regards,
Alexandre Mendonca
JBoss R&D

rcga
Offline
Joined: 2003-06-16
Points: 0

Understood.

Thank you Alexandre.

I think Mobicents approach for this issue should be considered in the SLEE specifications... but it will be for another release.

Thanks again!
RCG@