Author: supun
Date: Fri Sep 10 09:45:11 2010
New Revision: 995723

URL: http://svn.apache.org/viewvc?rev=995723&view=rev
Log:
setting the endpoint state in a clustered environment

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/EndpointContext.java

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=995723&r1=995722&r2=995723&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
 Fri Sep 10 09:45:11 2010
@@ -112,6 +112,11 @@ public class EndpointContext {
         NEXT_RETRY_TIME_KEY = KEY_PREFIX + endpointName + NEXT_RETRY_TIME;
         REMAINING_RETRIES_KEY = KEY_PREFIX + endpointName + REMAINING_RETRIES;
         LAST_SUSPEND_DURATION_KEY = KEY_PREFIX + endpointName + 
LAST_SUSPEND_DURATION;
+
+        if (isClustered) {
+            //In a clustered environment, we need to set the state of an 
Endpoint when it is created.
+            cfgCtx.setNonReplicableProperty(STATE_KEY, ST_ACTIVE);
+        }
     }
 
     /**
@@ -225,7 +230,7 @@ public class EndpointContext {
         if (isClustered) {
             Integer state = (Integer) 
cfgCtx.getPropertyNonReplicable(STATE_KEY);
 
-            if ((state == null) || ((state != ST_ACTIVE) && (state != 
ST_OFF))) {
+            if ((state != null) && ((state != ST_ACTIVE) && (state != 
ST_OFF))) {
                 log.info("Endpoint : " + endpointName + " currently " + 
getStateAsString() +
                         " will now be marked active since it processed its 
last message");
                 setState(ST_ACTIVE);


Reply via email to