public class Ring extends _ClusterNodeDisp implements Redirector.Context
BlitzConfiguration objects which manages lookups
 of sessions and other resources from all the blitzes which take part in the
 cluster. Membership in the Ring is based on a single token --
 "omero.instance" -- retrieved from the current context, or if missing, a
 calculated value which will prevent this instance from taking part in
 clustering.
 
 The Ring also listens for| Modifier and Type | Field and Description | 
|---|---|
| ome.system.Principal | principal | 
| java.lang.String | uuidUUID for this cluster node. | 
__ids, serialVersionUIDice_staticId| Constructor and Description | 
|---|
| Ring(java.lang.String uuid,
    ome.services.util.Executor executor) | 
| Ring(java.lang.String uuid,
    ome.services.util.Executor executor,
    Redirector redirector,
    ome.services.scripts.ScriptRepoHelper scriptRepoHelper,
    ome.security.NodeProvider nodeProvider) | 
| Modifier and Type | Method and Description | 
|---|---|
| void | assertNodes(java.util.Set<java.lang.String> nodeUuids) | 
| java.util.Set<java.lang.String> | checkCluster()Method called during initialization to get all the active uuids within
 the cluster, and remove any dead nodes. | 
| boolean | checkPassword(java.lang.String userId)Currently only returns false since if the regular password check
 performed by  SessionManagercannot find the
 session, then the cluster has no extra information. | 
| void | destroy() | 
| void | down(java.lang.String downUuid,
    Ice.Current __current)Called when any node goes down. | 
| Ice.Communicator | getCommunicator()Active communicator for use by the  Redirectorinstance. | 
| java.lang.String | getDirectProxy()Returns the proxy information for the local  SessionManager. | 
| java.util.Set<java.lang.String> | getManagerList(boolean onlyActive)Return all known managers in the current cluster context, possibly
 filtering out the inactive ones. | 
| java.lang.String | getNodeUuid(Ice.Current __current)Each node acquires the uuids of all other active nodes on start
 up. | 
| Glacier2.SessionPrx | getProxyOrNull(java.lang.String userId,
              Glacier2.SessionControlPrx control,
              Ice.Current current)Delegates to the  redirectorstrategy configured for this
 instance. | 
| void | init(Ice.ObjectAdapter adapter,
    java.lang.String directProxy)Typically called from within  BlitzConfigurationafter the
 communicator and adapter have been properly setup. | 
| java.util.Set<java.lang.String> | knownManagers() | 
| ome.system.Principal | principal()Principalinstance which can be used for internal calls the
 Executor. | 
| protected void | purgeNode(java.lang.String manager) | 
| void | setRegistry(Registry registry)Sets the  Registryfor this instance. | 
| java.lang.String | uuid()The UUID for the local node which will be used as the redirect lookup
 string for this  Redirector.Context. | 
___down, ___getNodeUuid, __dispatch, __readImpl, __writeImpl, down, getNodeUuid, ice_copyStateFrom, ice_id, ice_id, ice_ids, ice_ids, ice_isA, ice_isA, ice_staticId___ice_id, ___ice_ids, ___ice_isA, ___ice_ping, __checkMode, __read, __read, __readImpl, __write, __write, __writeImpl, clone, ice_dispatch, ice_dispatch, ice_operationAttributes, ice_ping, ice_ping, ice_postUnmarshal, ice_preMarshalpublic final java.lang.String uuid
public final ome.system.Principal principal
public Ring(java.lang.String uuid,
            ome.services.util.Executor executor)
public Ring(java.lang.String uuid,
            ome.services.util.Executor executor,
            Redirector redirector,
            ome.services.scripts.ScriptRepoHelper scriptRepoHelper,
            ome.security.NodeProvider nodeProvider)
public void setRegistry(Registry registry)
Registry for this instance. This is currently done in
 BlitzConfigurationpublic java.lang.String uuid()
Redirector.ContextRedirector.Context.uuid in interface Redirector.Contextpublic ome.system.Principal principal()
Redirector.ContextPrincipal instance which can be used for internal calls the
 Executor.principal in interface Redirector.Contextpublic java.util.Set<java.lang.String> getManagerList(boolean onlyActive)
Redirector.ContextgetManagerList in interface Redirector.Contextpublic java.lang.String getDirectProxy()
SessionManager.getDirectProxy in interface Redirector.Contextpublic Ice.Communicator getCommunicator()
Redirector.ContextRedirector instance.getCommunicator in interface Redirector.Contextpublic void init(Ice.ObjectAdapter adapter,
                 java.lang.String directProxy)
BlitzConfiguration after the
 communicator and adapter have been properly setup.public java.util.Set<java.lang.String> checkCluster()
public void destroy()
public java.lang.String getNodeUuid(Ice.Current __current)
_ClusterNodeOperationsgetNodeUuid in interface _ClusterNodeOperations__current - The Current object for the invocation.public void down(java.lang.String downUuid,
                 Ice.Current __current)
down in interface _ClusterNodeOperations__current - The Current object for the invocation.public boolean checkPassword(java.lang.String userId)
SessionManager cannot find the
 session, then the cluster has no extra information.public Glacier2.SessionPrx getProxyOrNull(java.lang.String userId,
                                          Glacier2.SessionControlPrx control,
                                          Ice.Current current)
                                   throws Glacier2.CannotCreateSessionException
redirector strategy configured for this
 instance.Glacier2.CannotCreateSessionExceptionpublic java.util.Set<java.lang.String> knownManagers()
public void assertNodes(java.util.Set<java.lang.String> nodeUuids)
protected void purgeNode(java.lang.String manager)