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);
     }