com.atomikos.icatch
Interface Extent

All Superinterfaces:
Serializable
All Known Implementing Classes:
ExtentImp

public interface Extent
extends Serializable

The extent carries the information about the 'size' of a propagation after it returns: the directly andindirectly invoked servers, and the orphan detection information for those. This interface is a system interface; it should not be handled by application level code.


Method Summary
 void add(Extent extent)
          Add another extent to the current extent.
 void add(Participant participant, int count)
          Add a participant to the extent.
 Stack getParticipants()
          Get the set of direct participants of this extent.
 Hashtable getRemoteParticipants()
          Get the remote participants indirectly invoked.
 

Method Detail

getRemoteParticipants

Hashtable getRemoteParticipants()
Get the remote participants indirectly invoked.

Returns:
Hashtable Mapping URIs of remote participants to Integer counts.

add

void add(Extent extent)
         throws IllegalStateException,
                SysException
Add another extent to the current extent.

Parameters:
extent - The extent to add.
Throws:
IllegalStateException - If no longer allowed.
SysException - Unexpected error.

add

void add(Participant participant,
         int count)
         throws IllegalStateException,
                SysException
Add a participant to the extent. This method is called at the server side, in order to add the work done to the two-phase commit set of the calling (client) side, as well as to make sure that orphan information is propagated through the system.

Parameters:
participant - The participant to add. This instance will be added to the indirect as well as to the direct participant set.
count - The number of invocations detected by the adding client.
Throws:
IllegalStateException - If no longer allowed.
SysException - Unexpected error.

getParticipants

Stack getParticipants()
Get the set of direct participants of this extent.

Returns:
Stack A stack of direct participants. Direct participants are those that need to be added to the client TM's two-phase commit set. NOTE: If a participant occurs in the direct participant set, it will also be part of the remote set.


Copyright © 2011. All Rights Reserved.