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 |
uuid
UUID 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
SessionManager cannot 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
Redirector instance. |
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
redirector strategy configured for this
instance. |
void |
init(Ice.ObjectAdapter adapter,
java.lang.String directProxy)
Typically called from within
BlitzConfiguration after the
communicator and adapter have been properly setup. |
java.util.Set<java.lang.String> |
knownManagers() |
ome.system.Principal |
principal()
Principal instance which can be used for internal calls the
Executor. |
protected void |
purgeNode(java.lang.String manager) |
void |
setRegistry(Registry registry)
Sets the
Registry for 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)