Author: clebert.suconic(a)jboss.com
Date: 2011-10-27 12:31:15 -0400 (Thu, 27 Oct 2011)
New Revision: 11611
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/ServerLocatorImpl.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
Log:
Fixing compatibility issues on Serialization after version check tests
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/ServerLocatorImpl.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/ServerLocatorImpl.java 2011-10-27
11:40:08 UTC (rev 11610)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/ServerLocatorImpl.java 2011-10-27
16:31:15 UTC (rev 11611)
@@ -387,7 +387,7 @@
{
e.fillInStackTrace();
- this.topology = topology;
+ this.topology = topology == null ? new Topology(this) : topology;
this.ha = useHA;
@@ -466,7 +466,7 @@
*/
public ServerLocatorImpl(final boolean useHA, final DiscoveryGroupConfiguration
groupConfiguration)
{
- this(useHA ? new Topology(null) : null, useHA, groupConfiguration, null);
+ this(new Topology(null), useHA, groupConfiguration, null);
if (useHA)
{
// We only set the owner at where the Topology was created.
@@ -482,7 +482,7 @@
*/
public ServerLocatorImpl(final boolean useHA, final TransportConfiguration...
transportConfigs)
{
- this(useHA ? new Topology(null) : null, useHA, null, transportConfigs);
+ this(new Topology(null), useHA, null, transportConfigs);
if (useHA)
{
// We only set the owner at where the Topology was created.
@@ -1292,7 +1292,7 @@
public void notifyNodeDown(final long eventTime, final String nodeID)
{
- if (topology == null)
+ if (!ha)
{
// there's no topology here
return;
@@ -1339,7 +1339,7 @@
final Pair<TransportConfiguration,
TransportConfiguration> connectorPair,
final boolean last)
{
- if (topology == null)
+ if (!ha)
{
// there's no topology
return;
@@ -1425,7 +1425,7 @@
{
this.initialConnectors[count++] = entry.getConnector();
- if (topology != null && topology.getMember(entry.getNodeID()) == null)
+ if (ha && topology.getMember(entry.getNodeID()) == null)
{
TopologyMember member = new TopologyMember(entry.getConnector(), null);
// on this case we set it as zero as any update coming from server should be
accepted
@@ -1494,7 +1494,7 @@
TransportConfiguration backup = null;
- if (topology != null)
+ if (ha)
{
backup =
topology.getBackupForConnector(factory.getConnectorConfiguration());
}
Modified: branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java
===================================================================
--- branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java 2011-10-27
11:40:08 UTC (rev 11610)
+++ branches/Branch_2_2_EAP/src/main/org/hornetq/core/client/impl/Topology.java 2011-10-27
16:31:15 UTC (rev 11611)
@@ -58,9 +58,9 @@
* keys are node IDs
* values are a pair of live/backup transport configurations
*/
- private final Map<String, TopologyMember> mapTopology = new
ConcurrentHashMap<String, TopologyMember>();
+ private final Map<String, TopologyMember> topology = new
ConcurrentHashMap<String, TopologyMember>();
- private final Map<String, Long> mapDelete = new ConcurrentHashMap<String,
Long>();
+ private transient final Map<String, Long> mapDelete = new
ConcurrentHashMap<String, Long>();
public Topology(final Object owner)
{
@@ -111,8 +111,8 @@
log.debug(this + "::node " + nodeId + "=" +
memberInput);
}
memberInput.setUniqueEventID(System.currentTimeMillis());
- mapTopology.remove(nodeId);
- mapTopology.put(nodeId, memberInput);
+ topology.remove(nodeId);
+ topology.put(nodeId, memberInput);
sendMemberUp(memberInput.getUniqueEventID(), nodeId, memberInput);
}
}
@@ -134,13 +134,13 @@
new Exception("trace"));
currentMember = memberInput;
- mapTopology.put(nodeId, currentMember);
+ topology.put(nodeId, currentMember);
}
TopologyMember newMember = new TopologyMember(currentMember.getA(),
memberInput.getB());
newMember.setUniqueEventID(System.currentTimeMillis());
- mapTopology.remove(nodeId);
- mapTopology.put(nodeId, newMember);
+ topology.remove(nodeId);
+ topology.put(nodeId, newMember);
sendMemberUp(newMember.getUniqueEventID(), nodeId, newMember);
return newMember;
@@ -172,7 +172,7 @@
synchronized (this)
{
- TopologyMember currentMember = mapTopology.get(nodeId);
+ TopologyMember currentMember = topology.get(nodeId);
if (currentMember == null)
{
@@ -184,7 +184,7 @@
memberInput, new Exception("trace"));
}
memberInput.setUniqueEventID(uniqueEventID);
- mapTopology.put(nodeId, memberInput);
+ topology.put(nodeId, memberInput);
sendMemberUp(uniqueEventID, nodeId, memberInput);
return true;
}
@@ -217,8 +217,8 @@
newMember.setUniqueEventID(uniqueEventID);
- mapTopology.remove(nodeId);
- mapTopology.put(nodeId, newMember);
+ topology.remove(nodeId);
+ topology.put(nodeId, newMember);
sendMemberUp(uniqueEventID, nodeId, newMember);
return true;
@@ -296,7 +296,7 @@
synchronized (this)
{
- member = mapTopology.get(nodeId);
+ member = topology.get(nodeId);
if (member != null)
{
if (member.getUniqueEventID() > uniqueEventID)
@@ -307,7 +307,7 @@
else
{
mapDelete.put(nodeId, uniqueEventID);
- member = mapTopology.remove(nodeId);
+ member = topology.remove(nodeId);
}
}
}
@@ -320,7 +320,7 @@
", result=" +
member +
", size = " +
- mapTopology.size(), new Exception("trace"));
+ topology.size(), new Exception("trace"));
}
if (member != null)
@@ -414,7 +414,7 @@
synchronized (Topology.this)
{
- copy = new HashMap<String, TopologyMember>(mapTopology);
+ copy = new HashMap<String, TopologyMember>(topology);
}
for (Map.Entry<String, TopologyMember> entry : copy.entrySet())
@@ -439,12 +439,12 @@
public synchronized TopologyMember getMember(final String nodeID)
{
- return mapTopology.get(nodeID);
+ return topology.get(nodeID);
}
public synchronized boolean isEmpty()
{
- return mapTopology.isEmpty();
+ return topology.isEmpty();
}
public Collection<TopologyMember> getMembers()
@@ -452,7 +452,7 @@
ArrayList<TopologyMember> members;
synchronized (this)
{
- members = new ArrayList<TopologyMember>(mapTopology.values());
+ members = new ArrayList<TopologyMember>(topology.values());
}
return members;
}
@@ -460,7 +460,7 @@
public synchronized int nodes()
{
int count = 0;
- for (TopologyMember member : mapTopology.values())
+ for (TopologyMember member : topology.values())
{
if (member.getA() != null)
{
@@ -483,12 +483,12 @@
{
String desc = text + "topology on " + this + ":\n";
- for (Entry<String, TopologyMember> entry : new HashMap<String,
TopologyMember>(mapTopology).entrySet())
+ for (Entry<String, TopologyMember> entry : new HashMap<String,
TopologyMember>(topology).entrySet())
{
desc += "\t" + entry.getKey() + " => " + entry.getValue()
+ "\n";
}
desc += "\t" + "nodes=" + nodes() + "\t" +
"members=" + members();
- if (mapTopology.isEmpty())
+ if (topology.isEmpty())
{
desc += "\tEmpty";
}
@@ -497,7 +497,7 @@
public int members()
{
- return mapTopology.size();
+ return topology.size();
}
/** The owner exists mainly for debug purposes.
@@ -510,7 +510,7 @@
public TransportConfiguration getBackupForConnector(final TransportConfiguration
connectorConfiguration)
{
- for (TopologyMember member : mapTopology.values())
+ for (TopologyMember member : topology.values())
{
if (member.getA() != null &&
member.getA().equals(connectorConfiguration))
{
Modified:
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java
===================================================================
---
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2011-10-27
11:40:08 UTC (rev 11610)
+++
branches/Branch_2_2_EAP/src/main/org/hornetq/core/server/cluster/impl/ClusterConnectionImpl.java 2011-10-27
16:31:15 UTC (rev 11611)
@@ -858,7 +858,7 @@
final Queue queue,
final boolean start) throws Exception
{
- final ServerLocatorInternal targetLocator = new ServerLocatorImpl(topology, false,
connector);
+ final ServerLocatorInternal targetLocator = new ServerLocatorImpl(topology, true,
connector);
String nodeId;