You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by in...@apache.org on 2009/03/02 08:28:20 UTC

svn commit: r749213 - in /synapse/trunk/java/modules: core/src/main/java/org/apache/synapse/ core/src/main/java/org/apache/synapse/config/ core/src/main/java/org/apache/synapse/endpoints/ core/src/main/java/org/apache/synapse/mediators/builtin/ core/sr...

Author: indika
Date: Mon Mar  2 07:28:20 2009
New Revision: 749213

URL: http://svn.apache.org/viewvc?rev=749213&view=rev
Log:
fix some issue on endpoint life cycle managing

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerConfigurationInformation.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerContextInformation.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseControllerFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/CloneMediator.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/IterateMediator.java
    synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerConfigurationInformation.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerConfigurationInformation.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerConfigurationInformation.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerConfigurationInformation.java Mon Mar  2 07:28:20 2009
@@ -230,4 +230,16 @@
             log.warn("Unable to get the hostName or IP address of the server", e);
         }
     }
+
+    public String toString() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("[ Server Name : ").append(serverName).append(" ]");
+        sb.append("[ Synapse Home : ").append(synapseHome).append(" ]");
+        sb.append("[ Synapse XML : ").append(synapseXMLLocation).append(" ]");
+        sb.append("[ Server Host : ").append(hostName).append(" ]");
+        sb.append("[ Server IP : ").append(ipAddress).append(" ]");
+        sb.append("[ Axis2 Repository : ").append(axis2RepoLocation).append(" ]");
+        sb.append("[ Axis2 XML : ").append(axis2Xml).append(" ]");
+        return sb.toString();
+    }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerContextInformation.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerContextInformation.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerContextInformation.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerContextInformation.java Mon Mar  2 07:28:20 2009
@@ -28,7 +28,7 @@
     /* Underlying server's context - EX : Axis2 ConfigurationConext */
     private Object serverContext;
     /* A map to hold any context information*/
-    private final Map<String, Object> property = new HashMap<String, Object>();
+    private final Map<String, Object> properties = new HashMap<String, Object>();
 
     public ServerContextInformation(Object serverContext) {
         this.serverContext = serverContext;
@@ -42,10 +42,10 @@
     }
 
     public void addProperty(String key, Object value) {
-        property.put(key, value);
+        properties.put(key, value);
     }
 
     public Object getProperty(String key) {
-        return property.get(key);
+        return properties.get(key);
     }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseControllerFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseControllerFactory.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseControllerFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseControllerFactory.java Mon Mar  2 07:28:20 2009
@@ -69,15 +69,10 @@
         return null;
     }
 
-    private static void handleFatal(String msgPre) {
-        String msg = "The " + msgPre + " must be set as a system property or init-parameter";
-        log.fatal(msg);
-        throw new SynapseException(msg);
-    }
-
     /**
      * Validate core settings for startup
-     * @param information  ServerConfigurationInformation to be validated
+     *
+     * @param information ServerConfigurationInformation to be validated
      */
     private static void validate(ServerConfigurationInformation information) {
 
@@ -121,8 +116,17 @@
             log.info("Using server name : " + serverName);
         }
 
+        if (log.isDebugEnabled()) {
+            log.debug("Using Server Configuration As : " + information);
+        }
+
         log.info("The timeout handler will run every : " +
                 (SynapseConfigUtils.getTimeoutHandlerInterval() / 1000) + "s");
     }
 
+    private static void handleFatal(String msgPre) {
+        String msg = "The " + msgPre + " must be set as a system property or init-parameter";
+        log.fatal(msg);
+        throw new SynapseException(msg);
+    }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java Mon Mar  2 07:28:20 2009
@@ -851,20 +851,20 @@
         }
 
         // destroy the managed mediators
-        for (SequenceMediator seq : getDefinedSequences().values()) {
-            if (seq != null) {
-                seq.destroy();
+        for (ManagedLifecycle seq : getDefinedSequences().values()) {
+            seq.destroy();
+        }
+
+        // destroy the managed endpoints
+        for (Endpoint endpoint : getDefinedEndpoints().values()) {
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).destroy();
             }
         }
 
         // destroy the startups
-        if (startups != null) {
-            
-            for (Startup stp : startups.values()) {
-                if (stp != null) {
-                    stp.destroy();
-                }
-            }
+        for (ManagedLifecycle stp : startups.values()) {
+            stp.destroy();
         }
         
         TaskScheduler taskScheduler = TaskSchedulerFactory.getTaskScheduler(
@@ -906,31 +906,43 @@
         if (registry != null && registry instanceof ManagedLifecycle) {
             ((ManagedLifecycle) registry).init(se);
         }
-        
-        // initialize all the proxy services
-        for (ProxyService p : getProxyServices()) {
-            
-                if (p.getTargetInLineInSequence() != null) {
-                    p.getTargetInLineInSequence().init(se);
-                }
-            
-                if (p.getTargetInLineOutSequence() != null) {
-                    p.getTargetInLineOutSequence().init(se);
-                }
-                
-                if (p.getTargetInLineFaultSequence() != null) {
-                    p.getTargetInLineFaultSequence().init(se);
-                }
+
+        //initialize endpoints
+        for (Endpoint endpoint : getDefinedEndpoints().values()) {
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).init(se);
+            }
         }
 
-        // initialize managed mediators
+         // initialize managed mediators
         for (ManagedLifecycle seq : getDefinedSequences().values()) {
             if (seq != null) {
                 seq.init(se);
             }
         }
+
+        // initialize all the proxy services
+        for (ProxyService proxy : getProxyServices()) {
+
+            if (proxy.getTargetInLineEndpoint() instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) proxy.getTargetInLineEndpoint()).init(se);
+            }
+
+            if (proxy.getTargetInLineInSequence() != null) {
+                proxy.getTargetInLineInSequence().init(se);
+            }
+
+            if (proxy.getTargetInLineOutSequence() != null) {
+                proxy.getTargetInLineOutSequence().init(se);
+            }
+
+            if (proxy.getTargetInLineFaultSequence() != null) {
+                proxy.getTargetInLineFaultSequence().init(se);
+            }
+        }
+
         // initialize the startups
-        for (Startup stp : getStartups()) {
+        for (ManagedLifecycle stp : getStartups()) {
             if (stp != null) {
                 stp.init(se);
             }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java Mon Mar  2 07:28:20 2009
@@ -24,10 +24,7 @@
 import org.apache.axis2.transport.base.BaseConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.FaultHandler;
-import org.apache.synapse.MessageContext;
-import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.SynapseException;
+import org.apache.synapse.*;
 import org.apache.synapse.audit.statistics.StatisticsReporter;
 import org.apache.synapse.commons.util.MBeanRegistrar;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
@@ -40,7 +37,7 @@
 /**
  * An abstract base class for all Endpoint implementations
  */
-public abstract class AbstractEndpoint extends FaultHandler implements Endpoint {
+public abstract class AbstractEndpoint extends FaultHandler implements Endpoint, ManagedLifecycle {
 
     protected Log log;
     protected static final Log trace = LogFactory.getLog(SynapseConstants.TRACE_LOGGER);
@@ -149,7 +146,9 @@
 
         if (children != null) {
             for (Endpoint e : children) {
-                e.init(synapseEnvironment);
+                if (e instanceof ManagedLifecycle) {
+                    ((ManagedLifecycle) e).init(synapseEnvironment);
+                }
             }
         }
     }
@@ -196,7 +195,7 @@
 
     /**
      * Is this a leaf level endpoint? or parent endpoint that has children?
-     * @return
+     * @return true if there is no children - a leaf endpoint 
      */
     public boolean isLeafEndpoint() {
         return children == null || children.size() == 0;

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/Endpoint.java Mon Mar  2 07:28:20 2009
@@ -33,7 +33,7 @@
  * endpoint url. Endpoints may contain zero or more endpoints in them and build up a hierarchical
  * structure of endpoints.
  */
-public interface Endpoint extends ManagedLifecycle {
+public interface Endpoint {
 
     /**
      * Sends the message context according to an endpoint specific behavior.

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/IndirectEndpoint.java Mon Mar  2 07:28:20 2009
@@ -23,6 +23,7 @@
 import org.apache.axis2.description.Parameter;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.core.axis2.Axis2SynapseEnvironment;
 import org.apache.synapse.core.SynapseEnvironment;
@@ -147,8 +148,9 @@
                 }
 
                 realEndpoint = synCfg.getEndpoint(key);
-                if (realEndpoint != null && !realEndpoint.isInitialized()) {
-                    realEndpoint.init(synapseEnvironment);
+                if (realEndpoint != null && !realEndpoint.isInitialized()
+                        && realEndpoint instanceof ManagedLifecycle) {
+                    ((ManagedLifecycle) realEndpoint).init(synapseEnvironment);
                 }
             }
         }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/SendMediator.java Mon Mar  2 07:28:20 2009
@@ -21,6 +21,7 @@
 
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseLog;
+import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.mediators.AbstractMediator;
@@ -89,15 +90,15 @@
 
     @Override
     public void init(SynapseEnvironment synapseEnvironment) {
-        if (endpoint != null) {
-            endpoint.init(synapseEnvironment);
+        if (endpoint instanceof ManagedLifecycle) {
+            ((ManagedLifecycle) endpoint).init(synapseEnvironment);
         }
     }
 
     @Override
     public void destroy() {
-        if (endpoint != null) {
-            endpoint.destroy();
+        if (endpoint instanceof ManagedLifecycle) {
+            ((ManagedLifecycle) endpoint).destroy();
         }
     }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/CloneMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/CloneMediator.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/CloneMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/CloneMediator.java Mon Mar  2 07:28:20 2009
@@ -22,6 +22,7 @@
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.SynapseLog;
+import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.util.MessageHelper;
@@ -160,9 +161,9 @@
             if (seq != null) {
                 seq.init(se);
             }
-            ManagedLifecycle endpoint = target.getEndpoint();
-            if (endpoint != null) {
-                endpoint.init(se);
+            Endpoint endpoint = target.getEndpoint();
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).init(se);
             }
         }
     }
@@ -175,9 +176,9 @@
             if (seq != null) {
                 seq.destroy();
             }
-            ManagedLifecycle endpoint = target.getEndpoint();
-            if (endpoint != null) {
-                endpoint.destroy();
+            Endpoint endpoint = target.getEndpoint();
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).destroy();
             }
         }
     }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/IterateMediator.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/IterateMediator.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/IterateMediator.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/eip/splitter/IterateMediator.java Mon Mar  2 07:28:20 2009
@@ -28,6 +28,7 @@
 import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseLog;
+import org.apache.synapse.endpoints.Endpoint;
 import org.apache.synapse.core.SynapseEnvironment;
 import org.apache.synapse.core.axis2.Axis2MessageContext;
 import org.apache.synapse.mediators.AbstractMediator;
@@ -255,9 +256,9 @@
     @Override
     public void init(SynapseEnvironment se) {
         if (target != null) {
-            ManagedLifecycle endpoint = target.getEndpoint();
-            if (endpoint != null) {
-                endpoint.init(se);
+            Endpoint endpoint = target.getEndpoint();
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).init(se);
             }
             ManagedLifecycle seq = target.getSequence();
             if (seq != null) {
@@ -269,9 +270,9 @@
     @Override
     public void destroy() {
         if (target != null) {
-            ManagedLifecycle endpoint = target.getEndpoint();
-            if (endpoint != null) {
-                endpoint.destroy();
+            Endpoint endpoint = target.getEndpoint();
+            if (endpoint instanceof ManagedLifecycle) {
+                ((ManagedLifecycle) endpoint).destroy();
             }
             ManagedLifecycle seq = target.getSequence();
             if (seq != null) {

Modified: synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java?rev=749213&r1=749212&r2=749213&view=diff
==============================================================================
--- synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java (original)
+++ synapse/trunk/java/modules/experimental/src/main/java/org/apache/synapse/experimental/ProxyDeployer.java Mon Mar  2 07:28:20 2009
@@ -38,6 +38,7 @@
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.ManagedLifecycle;
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.config.xml.ProxyServiceFactory;
 import org.apache.synapse.core.axis2.ProxyService;
@@ -98,8 +99,8 @@
         // Copy from SynapseInitializationModule#init (TODO: imcomplete: doesn't take pinnedServers into account)
         proxy.buildAxisService(synCfg, axisCfg);
         // Copy from SynapseConfiguration#init
-        if (proxy.getTargetInLineEndpoint() != null) {
-            proxy.getTargetInLineEndpoint().init(synapseEnvironment);
+        if (proxy.getTargetInLineEndpoint() instanceof ManagedLifecycle) {
+            ((ManagedLifecycle) proxy.getTargetInLineEndpoint()).init(synapseEnvironment);
         }
 
         if (proxy.getTargetInLineInSequence() != null) {