[hornetq-commits] JBoss hornetq SVN: r11051 - branches/Branch_2_2_EAP_cluster_clean2/src/main/org/hornetq/core/client/impl.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jul 27 12:36:10 EDT 2011


Author: clebert.suconic at jboss.com
Date: 2011-07-27 12:36:09 -0400 (Wed, 27 Jul 2011)
New Revision: 11051

Modified:
   branches/Branch_2_2_EAP_cluster_clean2/src/main/org/hornetq/core/client/impl/Topology.java
Log:
reverting change

Modified: branches/Branch_2_2_EAP_cluster_clean2/src/main/org/hornetq/core/client/impl/Topology.java
===================================================================
--- branches/Branch_2_2_EAP_cluster_clean2/src/main/org/hornetq/core/client/impl/Topology.java	2011-07-27 07:28:44 UTC (rev 11050)
+++ branches/Branch_2_2_EAP_cluster_clean2/src/main/org/hornetq/core/client/impl/Topology.java	2011-07-27 16:36:09 UTC (rev 11051)
@@ -18,7 +18,6 @@
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
 
 import org.hornetq.api.core.TransportConfiguration;
 import org.hornetq.api.core.client.ClusterTopologyListener;
@@ -61,37 +60,46 @@
     * keys are node IDs
     * values are a pair of live/backup transport configurations
     */
-   private final ConcurrentMap<String, TopologyMember> topologyMap = new ConcurrentHashMap<String, TopologyMember>();
+   private Map<String, TopologyMember> topology = new ConcurrentHashMap<String, TopologyMember>();
 
    private boolean debug = log.isDebugEnabled();
 
    public synchronized boolean addMember(String nodeId, TopologyMember member)
    {
       boolean replaced = false;
-      TopologyMember oldMember = topologyMap.put(nodeId, member);
+      TopologyMember currentMember = topology.get(nodeId);
       if (debug)
       {
-         log.debug(this + "::adding nodeId=" + nodeId + ", " + member.getConnector(), new Exception ("trace"));
+         log.debug(this + "::adding = " + nodeId + ":" + member.getConnector(), new Exception ("trace"));
          log.debug(describe("Before:"));
       }
-      
-      if(oldMember == null)
+      if(currentMember == null)
       {
+         topology.put(nodeId, member);
          replaced = true;
       }
       else
       {
-         if(hasChanged(oldMember.getConnector().a, member.getConnector().a) && member.getConnector().a != null)
+         if(hasChanged(currentMember.getConnector().a, member.getConnector().a) && member.getConnector().a != null)
          {
+            currentMember.getConnector().a =  member.getConnector().a;
             replaced = true;
          }
-         if(hasChanged(oldMember.getConnector().b, member.getConnector().b) && member.getConnector().b != null)
+         if(hasChanged(currentMember.getConnector().b, member.getConnector().b) && member.getConnector().b != null)
          {
-            oldMember.getConnector().b =  member.getConnector().b;
+            currentMember.getConnector().b =  member.getConnector().b;
             replaced = true;
          }
+
+         if(member.getConnector().a == null)
+         {
+            member.getConnector().a = currentMember.getConnector().a;
+         }
+         if(member.getConnector().b == null)
+         {
+            member.getConnector().b = currentMember.getConnector().b;
+         }
       }
-
       if(debug)
       {
          log.debug(this + "::Topology updated=" + replaced);
@@ -102,7 +110,7 @@
 
    public synchronized boolean removeMember(String nodeId)
    {
-      TopologyMember member = topologyMap.remove(nodeId);
+      TopologyMember member = topology.remove(nodeId);
       if (log.isDebugEnabled())
       {
          log.debug("XXX " + this + " removing nodeID=" + nodeId + ", result=" + member, new Exception ("trace"));
@@ -116,7 +124,7 @@
       Map<String, TopologyMember> copy;
       synchronized (this)
       {
-         copy = new HashMap<String, TopologyMember>(topologyMap);
+         copy = new HashMap<String, TopologyMember>(topology);
       }
       for (Map.Entry<String, TopologyMember> entry : copy.entrySet())
       {
@@ -126,23 +134,23 @@
 
    public TopologyMember getMember(String nodeID)
    {
-      return topologyMap.get(nodeID);
+      return topology.get(nodeID);
    }
 
    public boolean isEmpty()
    {
-      return topologyMap.isEmpty();
+      return topology.isEmpty();
    }
 
    public Collection<TopologyMember> getMembers()
    {
-      return topologyMap.values();
+      return topology.values();
    }
 
    public int nodes()
    {
       int count = 0;
-      for (TopologyMember member : topologyMap.values())
+      for (TopologyMember member : topology.values())
       {
          if (member.getConnector().a != null)
          {
@@ -164,7 +172,7 @@
    {
 
       String desc = text + "\n";
-      for (Entry<String, TopologyMember> entry : new HashMap<String, TopologyMember>(topologyMap).entrySet())
+      for (Entry<String, TopologyMember> entry : new HashMap<String, TopologyMember>(topology).entrySet())
       {
          desc += "\t" + entry.getKey() + " => " + entry.getValue() + "\n";
       }
@@ -174,13 +182,12 @@
 
    public void clear()
    {
-      // TODO: place this back
-      //topologyMap.clear();
+      topology.clear();
    }
 
    public int members()
    {
-      return topologyMap.size();
+      return topology.size();
    }
 
    private boolean hasChanged(TransportConfiguration currentConnector, TransportConfiguration connector)
@@ -190,7 +197,7 @@
 
    public TransportConfiguration getBackupForConnector(TransportConfiguration connectorConfiguration)
    {
-      for (TopologyMember member : topologyMap.values())
+      for (TopologyMember member : topology.values())
       {
          if(member.getConnector().a != null && member.getConnector().a.equals(connectorConfiguration))
          {



More information about the hornetq-commits mailing list