equals
and hashCode
methods, in order for two-phase commit to work properly!
ProcessDataInfo
} object.
@author Michael Lipp
@version $Revision: 2326 $
The following features are supported:
A Participant can participate in a Coordination by {@link Coordination#addParticipant(Participant) registering} itself with theCoordination. After successfully registering itself, the Participant is notified when the Coordination is terminated.
If a Coordination terminates {@link Coordination#end() normally}, then all registered Participants are notified on their {@link #ended(Coordination)}method. If the Coordination terminates as a {@link Coordination#fail(Throwable) failure}, then all registered Participants are notified on their {@link #failed(Coordination)} method.
Participants are required to be thread safe as notification can be made on any thread.
A Participant can only be registered with a single active Coordination at a time. If a Participant is already registered with an active Coordination, attempts to register the Participation with another active Coordination will block until the Coordination the Participant is registered with terminates. Notice that in edge cases the notification to the Participant that the Coordination has terminated can happen before the registration method returns. @ThreadSafe @author $Id: 6bef92f858270876b0d23bfb8b797b970bca2a27 $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|