com.sun.jini.phoenix
Class Activation.GroupEntry

java.lang.Object
  extended by com.sun.jini.phoenix.Activation.GroupEntry
All Implemented Interfaces:
Serializable
Enclosing class:
Activation

private class Activation.GroupEntry
extends Object
implements Serializable

Container for group information: group's descriptor, group's instantiator, flag to indicate pending group creation, and table of the group's active objects. WARNING: GroupEntry objects should not be written into log file updates. GroupEntrys are inner classes of Activation and they can not be serialized independent of this class. If the complete Activation system is written out as a log update, the point of having updates is nullified.


Nested Class Summary
private  class Activation.GroupEntry.Watchdog
          Waits for process termination and then restarts services.
 
Field Summary
(package private)  Process child
           
private static int CREATING
           
(package private)  ActivationGroupDesc desc
           
(package private)  ActivationInstantiator group
           
(package private)  ActivationGroupID groupID
           
(package private)  String groupName
           
(package private)  long incarnation
           
private static int MAX_TRIES
           
private static int NORMAL
           
(package private)  Map objects
           
(package private)  boolean removed
           
(package private)  HashSet restartSet
           
private static long serialVersionUID
           
(package private)  int status
           
private static int TERMINATE
           
private static int TERMINATING
           
(package private)  long waitTime
           
(package private)  Activation.GroupEntry.Watchdog watchdog
           
 
Constructor Summary
Activation.GroupEntry(ActivationGroupID groupID, ActivationGroupDesc desc)
           
 
Method Summary
(package private)  MarshalledWrapper activate(UID uid, boolean force)
           
(package private)  void activeGroup(ActivationInstantiator inst, long instIncarnation)
           
(package private)  void activeObject(UID uid, MarshalledObject mobj)
           
private  void await()
           
private  void checkRemoved()
           
private  void childGone()
           
(package private)  Map getActivatableObjects()
           
(package private)  ActivationDesc getActivationDesc(UID uid)
           
private  ActivationInstantiator getInstantiator(ActivationGroupID id)
          Returns the instantiator for the group specified by id and entry.
private  Activation.ObjectEntry getObjectEntry(UID uid)
           
(package private)  void inactiveGroup(long incarnation, boolean failure)
           
(package private)  void inactiveObject(UID uid)
           
(package private)  void registerObject(UID uid, ActivationDesc desc, boolean addRecord)
           
private  void reset()
           
(package private)  void restartServices()
           
(package private)  ActivationDesc setActivationDesc(UID uid, ActivationDesc desc, boolean addRecord)
           
(package private)  ActivationGroupDesc setActivationGroupDesc(ActivationGroupID id, ActivationGroupDesc desc, boolean addRecord)
           
(package private)  void shutdown()
           
(package private)  void shutdownFast()
           
private  void terminate()
           
(package private)  void unregisterGroup(boolean addRecord)
           
(package private)  void unregisterObject(UID uid, boolean addRecord)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

MAX_TRIES

private static final int MAX_TRIES
See Also:
Constant Field Values

NORMAL

private static final int NORMAL
See Also:
Constant Field Values

CREATING

private static final int CREATING
See Also:
Constant Field Values

TERMINATE

private static final int TERMINATE
See Also:
Constant Field Values

TERMINATING

private static final int TERMINATING
See Also:
Constant Field Values

desc

ActivationGroupDesc desc

groupID

ActivationGroupID groupID

incarnation

long incarnation

objects

Map objects

restartSet

HashSet restartSet

group

transient ActivationInstantiator group

status

transient int status

waitTime

transient long waitTime

groupName

transient String groupName

child

transient Process child

removed

transient boolean removed

watchdog

transient Activation.GroupEntry.Watchdog watchdog
Constructor Detail

Activation.GroupEntry

Activation.GroupEntry(ActivationGroupID groupID,
                      ActivationGroupDesc desc)
Method Detail

restartServices

void restartServices()

activeGroup

void activeGroup(ActivationInstantiator inst,
                 long instIncarnation)
           throws ActivationException
Throws:
ActivationException

checkRemoved

private void checkRemoved()
                   throws UnknownGroupException
Throws:
UnknownGroupException

getObjectEntry

private Activation.ObjectEntry getObjectEntry(UID uid)
                                       throws UnknownObjectException
Throws:
UnknownObjectException

registerObject

void registerObject(UID uid,
                    ActivationDesc desc,
                    boolean addRecord)
              throws ActivationException
Throws:
ActivationException

unregisterObject

void unregisterObject(UID uid,
                      boolean addRecord)
                throws ActivationException
Throws:
ActivationException

getActivatableObjects

Map getActivatableObjects()

unregisterGroup

void unregisterGroup(boolean addRecord)
               throws ActivationException
Throws:
ActivationException

setActivationDesc

ActivationDesc setActivationDesc(UID uid,
                                 ActivationDesc desc,
                                 boolean addRecord)
                           throws ActivationException
Throws:
ActivationException

getActivationDesc

ActivationDesc getActivationDesc(UID uid)
                           throws UnknownObjectException
Throws:
UnknownObjectException

setActivationGroupDesc

ActivationGroupDesc setActivationGroupDesc(ActivationGroupID id,
                                           ActivationGroupDesc desc,
                                           boolean addRecord)
                                     throws ActivationException
Throws:
ActivationException

inactiveGroup

void inactiveGroup(long incarnation,
                   boolean failure)
             throws UnknownGroupException
Throws:
UnknownGroupException

activeObject

void activeObject(UID uid,
                  MarshalledObject mobj)
            throws UnknownObjectException
Throws:
UnknownObjectException

inactiveObject

void inactiveObject(UID uid)
              throws UnknownObjectException
Throws:
UnknownObjectException

reset

private void reset()

childGone

private void childGone()

terminate

private void terminate()

await

private void await()

shutdownFast

void shutdownFast()

shutdown

void shutdown()

activate

MarshalledWrapper activate(UID uid,
                           boolean force)
                     throws ActivationException
Throws:
ActivationException

getInstantiator

private ActivationInstantiator getInstantiator(ActivationGroupID id)
                                        throws ActivationException
Returns the instantiator for the group specified by id and entry. If the group is currently inactive, exec some bootstrap code to create the group.

Throws:
ActivationException


Copyright 2007-2010, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.