You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by hi...@apache.org on 2010/11/01 17:56:30 UTC
svn commit: r1029747 - in
/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints:
DynamicLoadbalanceEndpoint.java EndpointContext.java EndpointDefinition.java
Author: hiranya
Date: Mon Nov 1 16:56:30 2010
New Revision: 1029747
URL: http://svn.apache.org/viewvc?rev=1029747&view=rev
Log:
Preventing state replication for dynamic load balance endpoints. (This causes a property to be added to the ConfiguratioContext for each and every dynamic endpoint created)
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointDefinition.java
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java?rev=1029747&r1=1029746&r2=1029747&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/DynamicLoadbalanceEndpoint.java Mon Nov 1 16:56:30 2010
@@ -289,6 +289,7 @@ public class DynamicLoadbalanceEndpoint
AddressEndpoint endpoint = new AddressEndpoint();
endpoint.setName("DynamicLoadBalanceAddressEndpoint-" + Math.random());
EndpointDefinition definition = new EndpointDefinition();
+ definition.setReplicationDisabled(true);
definition.setAddress(to.getAddress());
endpoint.setDefinition(definition);
endpoint.init((SynapseEnvironment)
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java?rev=1029747&r1=1029746&r2=1029747&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java Mon Nov 1 16:56:30 2010
@@ -113,7 +113,8 @@ public class EndpointContext {
REMAINING_RETRIES_KEY = KEY_PREFIX + endpointName + REMAINING_RETRIES;
LAST_SUSPEND_DURATION_KEY = KEY_PREFIX + endpointName + LAST_SUSPEND_DURATION;
- if (isClustered) {
+ if (isClustered && (endpointDefinition == null ||
+ !endpointDefinition.isReplicationDisabled())) {
//In a clustered environment, we need to set the state of an Endpoint when it is created.
cfgCtx.setNonReplicableProperty(STATE_KEY, ST_ACTIVE);
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointDefinition.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointDefinition.java?rev=1029747&r1=1029746&r2=1029747&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointDefinition.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointDefinition.java Mon Nov 1 16:56:30 2010
@@ -114,6 +114,11 @@ public class EndpointDefinition implemen
private String charSetEncoding;
/**
+ * Whether endpoint state replication should be disabled or not (only valid in clustered setups)
+ */
+ private boolean replicationDisabled = false;
+
+ /**
* timeout duration for waiting for a response in ms. if the user has set some timeout action
* and the timeout duration is not set, default is set to 0. note that if the user has
* not set any timeout configuration, default timeout action is set to NONE, which won't do
@@ -498,6 +503,14 @@ public class EndpointDefinition implemen
return retryDisabledErrorCodes;
}
+ public boolean isReplicationDisabled() {
+ return replicationDisabled;
+ }
+
+ public void setReplicationDisabled(boolean replicationDisabled) {
+ this.replicationDisabled = replicationDisabled;
+ }
+
public void addSuspendErrorCode(int code) {
suspendErrorCodes.add(code);
}