You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by az...@apache.org on 2008/01/10 13:56:04 UTC
svn commit: r610780 - in /webservices/axis2/trunk/java/modules:
clustering/src/org/apache/axis2/clustering/context/
clustering/src/org/apache/axis2/clustering/tribes/
clustering/test/org/apache/axis2/clustering/
kernel/src/org/apache/axis2/context/
Author: azeez
Date: Thu Jan 10 04:56:03 2008
New Revision: 610780
URL: http://svn.apache.org/viewvc?rev=610780&view=rev
Log:
Handling of NULL properties
Modified:
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java
webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ContextReplicationTest.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/AbstractContext.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/PropertyDifference.java
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/context/ContextClusteringCommandFactory.java Thu Jan 10 04:56:03 2008
@@ -161,9 +161,10 @@
Map diffs = context.getPropertyDifferences();
for (Iterator iter = diffs.keySet().iterator(); iter.hasNext();) {
String key = (String) iter.next();
- Object value = context.getPropertyNonReplicable(key);
+ PropertyDifference diff = (PropertyDifference) diffs.get(key);
+ Object value = diff.getValue();
- if (value instanceof Serializable || value == null) { // in the case of removing properties, the value can be null
+ if (value instanceof Serializable) {
// Next check whether it matches an excluded pattern
if (!isExcluded(key,
@@ -172,8 +173,6 @@
if (log.isDebugEnabled()) {
log.debug("sending property =" + key + "-" + value);
}
- PropertyDifference diff = (PropertyDifference) diffs.get(key);
- diff.setValue(value);
updateCmd.addProperty(diff);
}
}
@@ -184,7 +183,7 @@
for (Iterator iter = context.getPropertyNames(); iter.hasNext();) {
String key = (String) iter.next();
Object value = context.getPropertyNonReplicable(key);
- if (value instanceof Serializable || value == null) { // in the case of removing properties, the value can be null
+ if (value instanceof Serializable) {
// Next check whether it matches an excluded pattern
if (!isExcluded(key, context.getClass().getName(), excludedPropertyPatterns)) {
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelListener.java Thu Jan 10 04:56:03 2008
@@ -106,7 +106,8 @@
* @return boolean
*/
public boolean accept(Serializable msg, Member sender) {
- return true;
+ return configurationContext.
+ getPropertyNonReplicable(ClusteringConstants.CLUSTER_INITIALIZED) != null;
}
/**
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/ChannelSender.java Thu Jan 10 04:56:03 2008
@@ -52,7 +52,8 @@
if (members.length > 0) {
try {
long start = System.currentTimeMillis();
- channel.send(members, toByteMessage(msg), Channel.SEND_OPTIONS_USE_ACK);
+ channel.send(members, toByteMessage(msg), Channel.SEND_OPTIONS_SYNCHRONIZED_ACK);
+// channel.send(members, toByteMessage(msg), Channel.SEND_OPTIONS_USE_ACK);
timeToSend = System.currentTimeMillis() - start;
log.debug("Sent " + msg + " to group");
} catch (NotSerializableException e) {
@@ -106,7 +107,8 @@
try {
if (member.isReady()) {
long start = System.currentTimeMillis();
- channel.send(new Member[]{member}, toByteMessage(cmd), Channel.SEND_OPTIONS_USE_ACK);
+ channel.send(new Member[]{member}, toByteMessage(cmd), Channel.SEND_OPTIONS_SYNCHRONIZED_ACK);
+// channel.send(new Member[]{member}, toByteMessage(cmd), Channel.SEND_OPTIONS_USE_ACK);
timeToSend = System.currentTimeMillis() - start;
log.debug("Sent " + cmd + " to " + TribesUtil.getHost(member));
}
Modified: webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/src/org/apache/axis2/clustering/tribes/TribesClusterManager.java Thu Jan 10 04:56:03 2008
@@ -266,7 +266,7 @@
setNonReplicableProperty(ClusteringConstants.TIME_TO_SEND,
new Long(tts));
sentMembersList.add(TribesUtil.getHost(member));
- log.debug("WAITING FOR STATE INITIALIZATION MESSAGE...");
+ log.debug("WAITING FOR INITIALIZATION MESSAGE...");
Thread.sleep(tts + 5 * (numberOfTries + 1));
}
} catch (Exception e) {
Modified: webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ContextReplicationTest.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ContextReplicationTest.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ContextReplicationTest.java (original)
+++ webservices/axis2/trunk/java/modules/clustering/test/org/apache/axis2/clustering/ContextReplicationTest.java Thu Jan 10 04:56:03 2008
@@ -44,19 +44,23 @@
private static final String TEST_SERVICE_NAME = "testService";
+ // --------------- Cluster-1 ------------------------------------------------------
private ClusterManager clusterManager1;
private ContextManager ctxMan1;
private ConfigurationManager configMan1;
private ConfigurationContext configurationContext1;
private AxisServiceGroup serviceGroup1;
private AxisService service1;
+ //---------------------------------------------------------------------------------
+ // --------------- Cluster-2 ------------------------------------------------------
private ClusterManager clusterManager2;
private ContextManager ctxMan2;
private ConfigurationManager configMan2;
private ConfigurationContext configurationContext2;
private AxisServiceGroup serviceGroup2;
private AxisService service2;
+ //---------------------------------------------------------------------------------
protected void setUp() throws Exception {
System.setProperty(ClusteringConstants.LOCAL_IP_ADDRESS, HttpUtils.getIpAddress());
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/AbstractContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/AbstractContext.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/AbstractContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/AbstractContext.java Thu Jan 10 04:56:03 2008
@@ -115,7 +115,7 @@
// Assume that a property is which is read may be updated.
// i.e. The object pointed to by 'value' may be modified after it is read
- addPropertyDifference(key);
+ addPropertyDifference(key, obj);
}
return obj;
}
@@ -137,7 +137,7 @@
// Assume that a property is which is read may be updated.
// i.e. The object pointed to by 'value' may be modified after it is read
- addPropertyDifference(key);
+ addPropertyDifference(key, obj);
}
return obj;
}
@@ -168,10 +168,10 @@
this.properties = new HashMap();
}
properties.put(key, value);
- addPropertyDifference(key);
+ addPropertyDifference(key, value);
}
- private void addPropertyDifference(String key) {
+ private void addPropertyDifference(String key, Object value) {
ConfigurationContext cc = getRootContext();
if (cc == null) {
return;
@@ -186,7 +186,7 @@
// Narrowed the synchronization so that we only wait
// if a property difference is added.
synchronized(this) {
- propertyDifferences.put(key, new PropertyDifference(key, false));
+ propertyDifferences.put(key, new PropertyDifference(key, value, false));
}
}
@@ -211,10 +211,13 @@
* @param key
*/
public synchronized void removeProperty(String key) {
- if (properties != null) {
- properties.remove(key);
+ Object value = properties.get(key);
+ if (value != null) {
+ if (properties != null) {
+ properties.remove(key);
+ }
+ propertyDifferences.put(key, new PropertyDifference(key, value, true));
}
- propertyDifferences.put(key, new PropertyDifference(key, true));
}
/**
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/PropertyDifference.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/PropertyDifference.java?rev=610780&r1=610779&r2=610780&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/PropertyDifference.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/PropertyDifference.java Thu Jan 10 04:56:03 2008
@@ -30,11 +30,6 @@
private Object value;
private boolean isRemoved;
- public PropertyDifference(String key, boolean isRemoved) {
- this.key = key;
- this.isRemoved = isRemoved;
- }
-
public PropertyDifference(String key, Object value, boolean isRemoved) {
this.key = key;
this.value = value;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org