com.atomikos.icatch.imp
Class ExtentImp

java.lang.Object
  extended by com.atomikos.icatch.imp.ExtentImp
All Implemented Interfaces:
Extent, Serializable

public class ExtentImp
extends Object
implements Extent

The extent carries the information about the 'size' of a propagation after it returns: the indirectly invoked servers, and the orphan detection information for those.

See Also:
Serialized Form

Constructor Summary
ExtentImp()
           
ExtentImp(Hashtable participants, Stack directs)
           
 
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.
 void addRemoteParticipants(Dictionary participants)
           
 Stack getParticipants()
          Get the set of direct participants of this extent.
 Hashtable getRemoteParticipants()
          Get the remote participants indirectly invoked.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExtentImp

public ExtentImp()

ExtentImp

public ExtentImp(Hashtable participants,
                 Stack directs)
Method Detail

addRemoteParticipants

public void addRemoteParticipants(Dictionary participants)
                           throws IllegalStateException,
                                  SysException
Throws:
IllegalStateException
SysException

getRemoteParticipants

public Hashtable getRemoteParticipants()
Description copied from interface: Extent
Get the remote participants indirectly invoked.

Specified by:
getRemoteParticipants in interface Extent
Returns:
Hashtable Mapping URIs of remote participants to Integer counts.
See Also:
Extent

getParticipants

public Stack getParticipants()
Description copied from interface: Extent
Get the set of direct participants of this extent.

Specified by:
getParticipants in interface 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.
See Also:
Extent

add

public void add(Participant participant,
                int count)
         throws SysException,
                IllegalStateException
Description copied from interface: Extent
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.

Specified by:
add in interface Extent
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:
SysException - Unexpected error.
IllegalStateException - If no longer allowed.
See Also:
Extent

add

public void add(Extent extent)
         throws IllegalStateException,
                SysException
Description copied from interface: Extent
Add another extent to the current extent.

Specified by:
add in interface Extent
Parameters:
extent - The extent to add.
Throws:
IllegalStateException - If no longer allowed.
SysException - Unexpected error.
See Also:
Extent


Copyright © 2011. All Rights Reserved.