diff options
author | Eike Stepper | 2010-09-23 15:22:33 +0000 |
---|---|---|
committer | Eike Stepper | 2010-09-23 15:22:33 +0000 |
commit | 3ad305914155e4884d4910235f209422c93d78f9 (patch) | |
tree | 53913b64b1743c5c8d70cc4d6fba7a55a9fee466 /plugins/org.eclipse.emf.cdo.server.net4j | |
parent | 3acc1e6e1b422e3cd1b2dc5e8ac1d077266fa770 (diff) | |
download | cdo-3ad305914155e4884d4910235f209422c93d78f9.tar.gz cdo-3ad305914155e4884d4910235f209422c93d78f9.tar.xz cdo-3ad305914155e4884d4910235f209422c93d78f9.zip |
[325928] Provide FailoverMonitor server and FailoverAgents to coordinate fail-over scenarios
https://bugs.eclipse.org/bugs/show_bug.cgi?id=325928
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.net4j')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java index c651c6d344..2dc6186160 100644 --- a/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java +++ b/plugins/org.eclipse.emf.cdo.server.net4j/src/org/eclipse/emf/cdo/server/net4j/FailoverMonitor.java @@ -82,8 +82,8 @@ public class FailoverMonitor extends Container<AgentProtocol> public void registerAgent(AgentProtocol agent) { - AgentProtocol[] newAgents = null; AgentProtocol newMasterAgent = null; + AgentProtocol[] newAgents = null; synchronized (agents) { @@ -91,14 +91,15 @@ public class FailoverMonitor extends Container<AgentProtocol> if (agents.size() == 1) { masterAgent = agent; - newAgents = getElements(); - newMasterAgent = masterAgent; } + + newMasterAgent = masterAgent; + newAgents = getElements(); } if (newMasterAgent != null) { - publishNewMaster(newAgents, newMasterAgent); + publishNewMaster(newMasterAgent, newAgents); } fireElementAddedEvent(agent); @@ -106,8 +107,8 @@ public class FailoverMonitor extends Container<AgentProtocol> public void deregisterAgent(AgentProtocol agent) { - AgentProtocol[] newAgents = null; AgentProtocol newMasterAgent = null; + AgentProtocol[] newAgents = null; synchronized (agents) { @@ -126,15 +127,15 @@ public class FailoverMonitor extends Container<AgentProtocol> { masterAgent = electNewMaster(agents); } - - newAgents = getElements(); - newMasterAgent = masterAgent; } + + newMasterAgent = masterAgent; + newAgents = getElements(); } if (newMasterAgent != null) { - publishNewMaster(newAgents, newMasterAgent); + publishNewMaster(newMasterAgent, newAgents); } fireElementRemovedEvent(agent); @@ -152,7 +153,7 @@ public class FailoverMonitor extends Container<AgentProtocol> return agents.iterator().next(); } - private void publishNewMaster(AgentProtocol[] agents, final AgentProtocol masterAgent) + private void publishNewMaster(final AgentProtocol masterAgent, AgentProtocol[] agents) { for (final AgentProtocol agent : agents) { |