Package org.eclipse.emf.cdo.server.net4j
Class FailoverMonitor
- java.lang.Object
-
- org.eclipse.net4j.util.event.Notifier
-
- org.eclipse.net4j.util.lifecycle.Lifecycle
-
- org.eclipse.net4j.util.lifecycle.ShareableLifecycle
-
- org.eclipse.net4j.util.container.Container<FailoverMonitor.AgentProtocol>
-
- org.eclipse.emf.cdo.server.net4j.FailoverMonitor
-
- All Implemented Interfaces:
org.eclipse.net4j.util.container.IContainer<FailoverMonitor.AgentProtocol>
,org.eclipse.net4j.util.event.INotifier
,org.eclipse.net4j.util.event.INotifier.INotifier2
,org.eclipse.net4j.util.lifecycle.IDeactivateable
,org.eclipse.net4j.util.lifecycle.ILifecycle
,org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation
public class FailoverMonitor extends org.eclipse.net4j.util.container.Container<FailoverMonitor.AgentProtocol>
A facility for monitoring a variable set offail-over participant
repositories and electing, as well as promoting, amaster
repository among them.- Since:
- 4.0
- Author:
- Eike Stepper
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FailoverMonitor.AbstractServerProtocolFactory
An abstract base class for theserver-side protocol factories
required by afail-over monitor
.static class
FailoverMonitor.AgentProtocol
The monitor-side implementation of thefail-over monitor
agent protocol.static class
FailoverMonitor.ClientProtocol
The monitor-side implementation of thefail-over monitor
client protocol.static class
FailoverMonitor.Factory
Createsfail-over monitor
instances.static interface
FailoverMonitor.Provider
Provides afail-over monitor
for a given named fail-over group.-
Nested classes/interfaces inherited from interface org.eclipse.net4j.util.container.IContainer
org.eclipse.net4j.util.container.IContainer.Modifiable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistable<E extends java.lang.Object>, org.eclipse.net4j.util.container.IContainer.Persistence<E extends java.lang.Object>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PRODUCT_GROUP
static java.lang.String
PROTOCOL_NAME
static short
SIGNAL_PUBLISH_MASTER
-
Constructor Summary
Constructors Constructor Description FailoverMonitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
deregisterAgent(FailoverMonitor.AgentProtocol agent)
protected void
doBeforeActivate()
protected FailoverMonitor.AgentProtocol
electNewMaster(java.util.List<FailoverMonitor.AgentProtocol> agents)
FailoverMonitor.AgentProtocol[]
getElements()
java.lang.String
getGroup()
FailoverMonitor.AgentProtocol
getMasterAgent()
boolean
isEmpty()
void
registerAgent(FailoverMonitor.AgentProtocol agent)
void
setGroup(java.lang.String group)
-
Methods inherited from class org.eclipse.net4j.util.container.Container
fireContainerEvent, fireContainerEvent, fireContainerEvent, fireElementAddedEvent, fireElementRemovedEvent, fireElementsAddedEvent, fireElementsRemovedEvent, fireEvent, newContainerEvent, newContainerEvent
-
Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString
-
Methods inherited from class org.eclipse.net4j.util.event.Notifier
addListener, addUniqueListener, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener
-
-
-
-
Field Detail
-
PRODUCT_GROUP
public static final java.lang.String PRODUCT_GROUP
- See Also:
- Constant Field Values
-
PROTOCOL_NAME
public static final java.lang.String PROTOCOL_NAME
- See Also:
- Constant Field Values
-
SIGNAL_PUBLISH_MASTER
public static final short SIGNAL_PUBLISH_MASTER
- See Also:
- Constant Field Values
-
-
Method Detail
-
getGroup
public java.lang.String getGroup()
-
setGroup
public void setGroup(java.lang.String group)
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceorg.eclipse.net4j.util.container.IContainer<FailoverMonitor.AgentProtocol>
- Overrides:
isEmpty
in classorg.eclipse.net4j.util.container.Container<FailoverMonitor.AgentProtocol>
-
getElements
public FailoverMonitor.AgentProtocol[] getElements()
-
getMasterAgent
public FailoverMonitor.AgentProtocol getMasterAgent()
-
registerAgent
public void registerAgent(FailoverMonitor.AgentProtocol agent)
-
deregisterAgent
public void deregisterAgent(FailoverMonitor.AgentProtocol agent)
-
doBeforeActivate
protected void doBeforeActivate() throws java.lang.Exception
- Overrides:
doBeforeActivate
in classorg.eclipse.net4j.util.lifecycle.Lifecycle
- Throws:
java.lang.Exception
-
electNewMaster
protected FailoverMonitor.AgentProtocol electNewMaster(java.util.List<FailoverMonitor.AgentProtocol> agents)
-
-