You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by su...@apache.org on 2010/09/21 14:17:34 UTC

svn commit: r999371 - in /synapse/trunk/java/modules/core/src: main/java/org/apache/synapse/ main/java/org/apache/synapse/config/ main/java/org/apache/synapse/config/xml/ main/java/org/apache/synapse/core/ main/java/org/apache/synapse/core/axis2/ main/...

Author: supun
Date: Tue Sep 21 12:17:33 2010
New Revision: 999371

URL: http://svn.apache.org/viewvc?rev=999371&view=rev
Log:
removing the sigleton from the ServerManager

Modified:
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.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/ServerManager.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManagerView.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseServer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseAxisServlet.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EndpointDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EventSourceDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/LocalEntryDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SequenceDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java
    synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AbstractEndpoint.java
    synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/n2n/SynapseCommodityServiceTest.java

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Axis2SynapseController.java Tue Sep 21 12:17:33 2010
@@ -82,6 +82,9 @@ public class Axis2SynapseController impl
     /** ServerConfiguration Information */
     private ServerConfigurationInformation serverConfigurationInformation;
 
+    /** Runtime information about the server */
+    private ServerContextInformation serverContextInformation;
+
     /** JMX Adapter */
     private JmxAdapter jmxAdapter;
 
@@ -100,16 +103,23 @@ public class Axis2SynapseController impl
                      ServerContextInformation serverContextInformation) {
 
         log.info("Initializing Synapse at : " + new Date());
+        if (serverConfigurationInformation == null) {
+            throw new IllegalArgumentException("ServerConfigurationInformation cannot be null");
+        }
+
+        if (serverContextInformation == null) {
+            throw new IllegalArgumentException("ServerContextInformation cannot be null");
+        }
 
         this.serverConfigurationInformation = serverConfigurationInformation;
-        
+        this.serverContextInformation = serverContextInformation;
         /* If no system property for the JMX agent is specified from outside, use a default one
            to show all MBeans (including the Axis2-MBeans) within the Synapse tree */
         if (System.getProperty(JMX_AGENT_NAME) == null) {
             System.setProperty(JMX_AGENT_NAME, "org.apache.synapse");
         }
 
-        if (serverContextInformation == null || serverContextInformation.getServerContext() == null 
+        if (serverContextInformation.getServerContext() == null
                 || serverConfigurationInformation.isCreateNewInstance()) {
 
             if (log.isDebugEnabled()) {
@@ -131,20 +141,33 @@ public class Axis2SynapseController impl
                         + " invalid, expected an Axis2 ConfigurationContext instance");
             }
         }
+        // set the configuration context
+        serverContextInformation.setServerContext(configurationContext);
+
+        // set the ServerContextInformation as a parameter
+        Parameter serverContextParameter = new Parameter(
+                SynapseConstants.SYNAPSE_SERVER_CTX_INFO, serverContextInformation);
+        // set the ServerConfiguration as a parameter
+        Parameter serverConfigParameter = new Parameter(
+                SynapseConstants.SYNAPSE_SERVER_CONFIG_INFO, serverConfigurationInformation);
+        try {
+            configurationContext.getAxisConfiguration().addParameter(serverContextParameter);
+            configurationContext.getAxisConfiguration().addParameter(serverConfigParameter);
+        } catch (AxisFault ignored) {
+            log.fatal("Error adding the parameter to the Axis Configuration");            
+        }
 
-        if (serverContextInformation != null) {
-            // we retrieve these properties to initialize the task scheduler in the envrionment
-            Object repo =
-                    serverContextInformation.getProperty(TaskConstants.TASK_DESCRIPTION_REPOSITORY);
-            Object taskScheduler = serverContextInformation.getProperty(TaskConstants.TASK_SCHEDULER);
+        // we retrieve these properties to initialize the task scheduler in the envrionment
+        Object repo =
+                serverContextInformation.getProperty(TaskConstants.TASK_DESCRIPTION_REPOSITORY);
+        Object taskScheduler = serverContextInformation.getProperty(TaskConstants.TASK_SCHEDULER);
 
-            if (repo != null && (repo instanceof TaskDescriptionRepository)) {
-                this.taskDescriptionRepository = (TaskDescriptionRepository) repo;
-            }
+        if (repo != null && (repo instanceof TaskDescriptionRepository)) {
+            this.taskDescriptionRepository = (TaskDescriptionRepository) repo;
+        }
 
-            if (taskScheduler != null && (taskScheduler instanceof TaskScheduler)) {
-                this.taskScheduler = (TaskScheduler) taskScheduler;
-            }
+        if (taskScheduler != null && (taskScheduler instanceof TaskScheduler)) {
+            this.taskScheduler = (TaskScheduler) taskScheduler;
         }
         
         addDefaultBuildersAndFormatters(configurationContext.getAxisConfiguration());
@@ -353,7 +376,7 @@ public class Axis2SynapseController impl
         }
 
         synapseEnvironment = new Axis2SynapseEnvironment(
-                configurationContext, synapseConfiguration);
+                configurationContext, synapseConfiguration, serverContextInformation);
         MessageContextCreatorForAxis2.setSynEnv(synapseEnvironment);
         
         Parameter synapseEnvironmentParameter = new Parameter(
@@ -480,7 +503,7 @@ public class Axis2SynapseController impl
             }
             int pendingTransportThreads = pendingListenerThreads + pendingSenderThreads;
             
-            int pendingCallbacks = ServerManager.getInstance().getCallbackCount();
+            int pendingCallbacks = serverContextInformation.getCallbackCount();
             if (pendingCallbacks > 0) {
                 log.info("Waiting for: " + pendingCallbacks + " callbacks/replies..");
             }

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=999371&r1=999370&r2=999371&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 Tue Sep 21 12:17:33 2010
@@ -20,6 +20,7 @@ package org.apache.synapse;
 
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.core.SynapseEnvironment;
+import org.apache.synapse.core.axis2.SynapseCallbackReceiver;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -37,14 +38,21 @@ public class ServerContextInformation {
     private SynapseConfiguration synapseConfiguration;
     /* Keeps the SynapseEnvironment */
     private SynapseEnvironment synapseEnvironment;
-
+    /** Callback receiver */    
+    private SynapseCallbackReceiver synapseCallbackReceiver;
+    /** State of the server */
     private ServerState serverState = ServerState.UNDETERMINED;
+    /** Reference to the server configuration */
+    private ServerConfigurationInformation serverConfigurationInformation;
 
-    public ServerContextInformation() {
+    public ServerContextInformation(ServerConfigurationInformation serverConfigurationInformation) {
+        this.serverConfigurationInformation = serverConfigurationInformation;
     }
 
-    public ServerContextInformation(Object serverContext) {
+    public ServerContextInformation(Object serverContext,
+                                    ServerConfigurationInformation serverConfigurationInformation) {
         this.serverContext = serverContext;
+        this.serverConfigurationInformation = serverConfigurationInformation;
     }
 
     public Object getServerContext() {
@@ -86,4 +94,28 @@ public class ServerContextInformation {
     public void setSynapseEnvironment(SynapseEnvironment synapseEnvironment) {
         this.synapseEnvironment = synapseEnvironment;
     }
+
+    public SynapseCallbackReceiver getSynapseCallbackReceiver() {
+        return synapseCallbackReceiver;
+    }
+
+    public void setSynapseCallbackReceiver(SynapseCallbackReceiver synapseCallbackReceiver) {
+        this.synapseCallbackReceiver = synapseCallbackReceiver;
+    }
+
+    public ServerConfigurationInformation getServerConfigurationInformation() {
+        return serverConfigurationInformation;
+    }
+
+    /**
+     * Returns the number of current callbacks.
+     *
+     * @return the number of current callbacks.
+     */
+    public int getCallbackCount() {
+        if (synapseCallbackReceiver != null) {
+            return synapseCallbackReceiver.getCallbackCount();
+        }
+        return 0;
+    }
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManager.java Tue Sep 21 12:17:33 2010
@@ -22,7 +22,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.commons.jmx.MBeanRegistrar;
 import org.apache.synapse.config.SynapsePropertiesLoader;
-import org.apache.synapse.core.axis2.SynapseCallbackReceiver;
 import org.apache.synapse.securevault.PasswordManager;
 import org.apache.synapse.securevault.SecurityConstants;
 
@@ -36,15 +35,15 @@ import java.util.Date;
  * the SynapseServer is invoked which in turn calls on this to start the instance
  * <p/>
  * When the WAR deployment is used, the SynapseStartUpServlet servlet calls on this class to
- * initialize Synapse
+ * initialize Synapse.
+ * <p/>
+ * This is the entry point for starting an Syanpse instance. All the synapse related management
+ * oprations are exposed through this class. 
  */
 public class ServerManager {
 
     private static final Log log = LogFactory.getLog(ServerManager.class);
 
-    /* Keeps the ServerManager instance */
-    private final static ServerManager instance = new ServerManager();
-
     /**
      * The controller for synapse create and Destroy synapse artifacts in a particular environment
      * Only for internal usage - DON"T PUT GETTER ,SETTER
@@ -69,15 +68,10 @@ public class ServerManager {
      */
     private ClassLoader classLoader;
 
-    private SynapseCallbackReceiver synapseCallbackReceiver;
-
     /**
-     * Gives the access to the singleton instance of the ServerManager
-     *
-     * @return the ServerManager instance
+     * Construct a server manager.
      */
-    public static ServerManager getInstance() {
-        return instance;
+    public ServerManager() {
     }
 
     /**
@@ -99,7 +93,8 @@ public class ServerManager {
         this.serverConfigurationInformation = serverConfigurationInformation;
 
         if (serverContextInformation == null) {
-            this.serverContextInformation = new ServerContextInformation();
+            this.serverContextInformation =
+                    new ServerContextInformation(serverConfigurationInformation);
         } else {
             this.serverContextInformation = serverContextInformation;
         }
@@ -387,22 +382,6 @@ public class ServerManager {
     }
 
     /**
-     * Returns the number of current callbacks.
-     * 
-     * @return the number of current callbacks.
-     */
-    public int getCallbackCount() {
-        if (synapseCallbackReceiver != null) {
-            return synapseCallbackReceiver.getCallbackCount();
-        }
-        return 0;
-    }
-
-    public void setSynapseCallbackReceiver(SynapseCallbackReceiver synapseCallbackReceiver) {
-        this.synapseCallbackReceiver = synapseCallbackReceiver;
-    }
-
-    /**
      * Helper method for initializing the ServerManager
      */
     private void doInit() {
@@ -423,15 +402,7 @@ public class ServerManager {
 
             // initializes the SynapseController
             this.synapseController.init(serverConfigurationInformation, serverContextInformation);
-
-            // sets the server context and the controller context
-            if (this.serverContextInformation == null) {
-                this.serverContextInformation = new ServerContextInformation(
-                        this.synapseController.getContext());
-            } else if (this.serverContextInformation.getServerContext() == null) {
-                this.serverContextInformation.setServerContext(this.synapseController.getContext());
-            }
-
+            
             // mark as initialized
             changeState(ServerState.INITIALIZED);
         } else {
@@ -497,7 +468,7 @@ public class ServerManager {
     }
 
     private void registerMBean() {
-        MBeanRegistrar.getInstance().registerMBean(new ServerManagerView(),
+        MBeanRegistrar.getInstance().registerMBean(new ServerManagerView(this),
                 SynapseConstants.SERVER_MANAGER_MBEAN, SynapseConstants.SERVER_MANAGER_MBEAN);
         try {
             MBeanRegistrar.getInstance().registerMBean(

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManagerView.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManagerView.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManagerView.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/ServerManagerView.java Tue Sep 21 12:17:33 2010
@@ -28,7 +28,11 @@ public class ServerManagerView implement
 
     private static final Log log = LogFactory.getLog(ServerManagerView.class);
 
-    private final ServerManager serverManager = ServerManager.getInstance();
+    private final ServerManager serverManager;
+
+    public ServerManagerView(ServerManager serverManager) {
+        this.serverManager = serverManager;
+    }
 
     /**
      * {@inheritDoc}

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseConstants.java Tue Sep 21 12:17:33 2010
@@ -120,6 +120,10 @@ public final class SynapseConstants {
     public static final String SYNAPSE_CONFIG = "synapse.config";
     /** The name of the Parameter set on the Axis2Configuration to hold the Synapse Environment */
     public static final String SYNAPSE_ENV = "synapse.env";
+    /** The name of the Parameter set on AxisConfiguration to hold the ServerContextInformation */
+    public static final String SYNAPSE_SERVER_CTX_INFO = "synapse.server.context.info";
+    /** The name of the Parameter set on AxisConfiguration to hold the ServerContextInformation */
+    public static final String SYNAPSE_SERVER_CONFIG_INFO = "synapse.server.config.info";
 
     /** The name of the system property that will hold the Synapse home directory */
     public static final String SYNAPSE_HOME = "synapse.home";

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseServer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseServer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseServer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/SynapseServer.java Tue Sep 21 12:17:33 2010
@@ -40,6 +40,9 @@ public class SynapseServer {
                     "<resolve_root> <deployment mode>" +
                     "\n Opts: -? this message";
 
+    /** This is the class to control the synapse server */
+    private static ServerManager serverManager;
+
     public static void printUsage() {
         System.out.println(USAGE_TXT);
         System.exit(1);
@@ -58,7 +61,7 @@ public class SynapseServer {
         ServerConfigurationInformation configurationInformation =
                 ServerConfigurationInformationFactory.createServerConfigurationInformation(args);
 
-        ServerManager serverManager = ServerManager.getInstance();
+        serverManager = new ServerManager();
         serverManager.init(configurationInformation, null);
 
         try {
@@ -82,7 +85,7 @@ public class SynapseServer {
             public void run() {
                 log.info("Shutting down Apache Synapse...");
                 try {
-                    ServerManager.getInstance().shutdown();
+                    serverManager.shutdown();
                     log.info("Apache Synapse shutdown complete");
                     log.info("Halting JVM");
                 } catch (Exception e) {

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java Tue Sep 21 12:17:33 2010
@@ -57,6 +57,7 @@ import java.util.Properties;
 import java.util.List;
 import java.util.ArrayList;
 
+
 public class SynapseConfigUtils {
 
     private static final Log log = LogFactory.getLog(SynapseConfigUtils.class);
@@ -709,62 +710,60 @@ public class SynapseConfigUtils {
     }
 
     public static String getSynapseHome() {
-        ServerManager serverManager = ServerManager.getInstance();
+        //TODO SUPUN
+        /*ServerManager serverManager = ServerManager.getInstance();
         if (serverManager.isInitialized()) {
             ServerConfigurationInformation information =
                     serverManager.getServerConfigurationInformation();
             if (information != null) {
                 return information.getSynapseHome();
             }
-        }
+        }*/
         return "";
     }
 
     public static String getServerName() {
-        ServerManager serverManager = ServerManager.getInstance();
+        // TODO SUPUN
+        /*ServerManager serverManager = ServerManager.getInstance();
         if (serverManager.isInitialized()) {
             ServerConfigurationInformation information =
                     serverManager.getServerConfigurationInformation();
             if (information != null) {
                 return information.getServerName();
             }
-        }
+        }*/
         return "";
     }
 
     public static String getResolveRoot() {
-        ServerManager serverManager = ServerManager.getInstance();
+        //TODO SUPUN
+        /*ServerManager serverManager = ServerManager.getInstance();
         if (serverManager.isInitialized()) {
             ServerConfigurationInformation information =
                     serverManager.getServerConfigurationInformation();
             if (information != null) {
                 return information.getResolveRoot();
             }
-        }
+        }*/
         return "";
     }
 
     /**
      * Get the StatisticsCollector from synapse env.
      *
+     * @param contextInfo server information
      * @return StatisticsCollector instance if there is any
      */
-    public static StatisticsCollector getStatisticsCollector() {
-
-        ServerManager serverManager = ServerManager.getInstance();
-        if (serverManager.isInitialized()) {
-            ServerContextInformation information =
-                    serverManager.getServerContextInformation();
-            if (information != null) {
-                Object o = information.getServerContext();
-                if (o instanceof ConfigurationContext) {
-                    ConfigurationContext context = (ConfigurationContext) o;
-                    SynapseEnvironment environment =
-                            (SynapseEnvironment) context.getAxisConfiguration().getParameterValue(
-                                    SynapseConstants.SYNAPSE_ENV);
-                    if (environment != null) {
-                        return environment.getStatisticsCollector();
-                    }
+    public static StatisticsCollector getStatisticsCollector(ServerContextInformation contextInfo) {
+        if (contextInfo != null && contextInfo.getServerState() == ServerState.INITIALIZED) {
+            Object o = contextInfo.getServerContext();
+            if (o instanceof ConfigurationContext) {
+                ConfigurationContext context = (ConfigurationContext) o;
+                SynapseEnvironment environment =
+                        (SynapseEnvironment) context.getAxisConfiguration().getParameterValue(
+                                SynapseConstants.SYNAPSE_ENV);
+                if (environment != null) {
+                    return environment.getStatisticsCollector();
                 }
             }
         }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationSerializer.java Tue Sep 21 12:17:33 2010
@@ -29,7 +29,6 @@ import org.apache.synapse.core.axis2.Pro
 import org.apache.synapse.eventing.SynapseEventSource;
 import org.apache.synapse.Startup;
 import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.ServerManager;
 import org.apache.synapse.startup.AbstractStartup;
 import org.apache.synapse.commons.executors.PriorityExecutor;
 import org.apache.synapse.commons.executors.config.PriorityExecutorSerializer;
@@ -101,7 +100,7 @@ public class MultiXMLConfigurationSerial
             serializeExecutors(synapseConfig.getPriorityExecutors().values(), definitions);
             serializeSynapseXML(definitions);
 
-            markConfigurationForSerialization(synapseConfig.getArtifactDeploymentStore());
+            markConfigurationForSerialization(synapseConfig);
             if (rootDirectory.exists()) {
                 if (log.isDebugEnabled()) {
                     log.debug("Deleting existing files at : " + rootDirectory.getAbsolutePath());
@@ -480,43 +479,33 @@ public class MultiXMLConfigurationSerial
     /**
      * Get the existing configuration and mark those files not effect on deployers for
      * deletion
-     * @param deploymentStore store to store the artifacts deployed
+     * @param synapseConfig synapse configuration
      */
-    private void markConfigurationForSerialization(SynapseArtifactDeploymentStore deploymentStore) {
-        SynapseConfiguration synCfg;
-        ServerManager serverManager = ServerManager.getInstance();
+    private void markConfigurationForSerialization(SynapseConfiguration synapseConfig) {                
+        SynapseArtifactDeploymentStore deploymentStore = synapseConfig.getArtifactDeploymentStore();
 
-        if (serverManager != null && serverManager.isInitialized()) {
-            synCfg = serverManager.getServerContextInformation().getSynapseConfiguration();
-            if (synCfg == null) {
-                return;
-            }
-        } else {
-            return;
-        }
-
-        for (SequenceMediator seq : synCfg.getDefinedSequences().values()) {
+        for (SequenceMediator seq : synapseConfig.getDefinedSequences().values()) {
             if (seq.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         SEQUENCES_DIR), seq.getFileName(), seq.getName(), deploymentStore);
             }
         }
 
-        for (Endpoint ep : synCfg.getDefinedEndpoints().values()) {
+        for (Endpoint ep : synapseConfig.getDefinedEndpoints().values()) {
             if (ep.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         ENDPOINTS_DIR), ep.getFileName(), ep.getName(), deploymentStore);
             }
         }
 
-        for (ProxyService proxy : synCfg.getProxyServices()) {
+        for (ProxyService proxy : synapseConfig.getProxyServices()) {
             if (proxy.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         PROXY_SERVICES_DIR), proxy.getFileName(), proxy.getName(), deploymentStore);
             }
         }
 
-        for (Entry e : synCfg.getDefinedEntries().values()) {
+        for (Entry e : synapseConfig.getDefinedEntries().values()) {
             if (e.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         LOCAL_ENTRY_DIR), File.separator +e.getFileName(), e.getKey(),
@@ -524,21 +513,21 @@ public class MultiXMLConfigurationSerial
             }
         }
 
-        for (SynapseEventSource es : synCfg.getEventSources()) {
+        for (SynapseEventSource es : synapseConfig.getEventSources()) {
             if (es.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         EVENTS_DIR), es.getFileName(), es.getName(), deploymentStore);
             }
         }
 
-        for (Startup s : synCfg.getStartups()) {
+        for (Startup s : synapseConfig.getStartups()) {
             if (s.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         TASKS_DIR), s.getFileName(), s.getName(), deploymentStore);
             }
         }
 
-        for (PriorityExecutor exec : synCfg.getPriorityExecutors().values()) {
+        for (PriorityExecutor exec : synapseConfig.getPriorityExecutors().values()) {
             if (exec.getFileName() != null) {
                 handleDeployment(new File(rootDirectory, MultiXMLConfigurationBuilder.
                         EXECUTORS_DIR), exec.getFileName(), exec.getName(), deploymentStore);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java Tue Sep 21 12:17:33 2010
@@ -21,6 +21,7 @@ package org.apache.synapse.core;
 
 import org.apache.axiom.util.blob.OverflowBlob;
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.ServerContextInformation;
 import org.apache.synapse.task.SynapseTaskManager;
 import org.apache.synapse.aspects.statistics.StatisticsCollector;
 import org.apache.synapse.config.SynapseConfiguration;
@@ -132,4 +133,12 @@ public interface SynapseEnvironment {
      * @return SynapseTaskManager of this synapse environment
      */
     public SynapseTaskManager getTaskManager();
+
+
+    /**
+     * Get the inforamtion about the synape environment.
+     * 
+     * @return {@link org.apache.synapse.ServerContextInformation} of this synapse environment
+     */
+    public ServerContextInformation getServerContextInformation();
 }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/AnonymousServiceFactory.java Tue Sep 21 12:17:33 2010
@@ -21,16 +21,13 @@ package org.apache.synapse.core.axis2;
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.wsdl.WSDLConstants;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.AxisMessage;
-import org.apache.axis2.description.OutOnlyAxisOperation;
-import org.apache.axis2.description.AxisServiceGroup;
+import org.apache.axis2.description.*;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.ServerManager;
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseException;
+import org.apache.synapse.ServerContextInformation;
 import org.apache.synapse.config.SynapseConfiguration;
 
 import javax.xml.namespace.QName;
@@ -164,7 +161,7 @@ public class AnonymousServiceFactory {
         try {
             DynamicAxisOperation dynamicOperation =
                 new DynamicAxisOperation(new QName(OUT_IN_OPERATION));
-            dynamicOperation.setMessageReceiver(getCallbackReceiver(synCfg));
+            dynamicOperation.setMessageReceiver(getCallbackReceiver(synCfg, axisCfg));
             AxisMessage inMsg = new AxisMessage();
             inMsg.setName("in-message");
             inMsg.setParent(dynamicOperation);
@@ -176,7 +173,7 @@ public class AnonymousServiceFactory {
 
             OutOnlyAxisOperation asyncOperation =
                 new OutOnlyAxisOperation(new QName(OUT_ONLY_OPERATION));
-            asyncOperation.setMessageReceiver(getCallbackReceiver(synCfg));
+            asyncOperation.setMessageReceiver(getCallbackReceiver(synCfg, axisCfg));
             AxisMessage outOnlyMsg = new AxisMessage();
             outOnlyMsg.setName("out-message");
             outOnlyMsg.setParent(asyncOperation);
@@ -205,14 +202,29 @@ public class AnonymousServiceFactory {
     /**
      * Create a single callback receiver if required, and return its reference
      * @param synCfg the Synapse configuration
+     * @param axisCfg axis configuration
      * @return the callback receiver thats created or now exists
      */
     private static synchronized SynapseCallbackReceiver getCallbackReceiver(
-        SynapseConfiguration synCfg) {
+            SynapseConfiguration synCfg, AxisConfiguration axisCfg) {
 
         if (synapseCallbackReceiver == null) {
-            synapseCallbackReceiver = new SynapseCallbackReceiver(synCfg);
-            ServerManager.getInstance().setSynapseCallbackReceiver(synapseCallbackReceiver);
+            Parameter serverCtxParam =
+                    axisCfg.getParameter(
+                            SynapseConstants.SYNAPSE_SERVER_CTX_INFO);
+            if (serverCtxParam == null ||
+                    !(serverCtxParam.getValue() instanceof ServerContextInformation)) {
+                String msg = "ServerContextInformation not found";
+                log.error(msg);
+                throw new SynapseException(msg);
+            }
+
+            ServerContextInformation contextInformation =
+                    (ServerContextInformation) serverCtxParam.getValue();
+
+            synapseCallbackReceiver = new SynapseCallbackReceiver(synCfg, contextInformation);
+
+            contextInformation.setSynapseCallbackReceiver(synapseCallbackReceiver);
         }
         return synapseCallbackReceiver;
     }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java Tue Sep 21 12:17:33 2010
@@ -27,10 +27,7 @@ import org.apache.axis2.context.ServiceC
 import org.apache.axis2.description.InOutAxisOperation;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.Mediator;
-import org.apache.synapse.MessageContext;
-import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.SynapseException;
+import org.apache.synapse.*;
 import org.apache.synapse.task.SynapseTaskManager;
 import org.apache.synapse.aspects.statistics.StatisticsCollector;
 import org.apache.synapse.config.SynapseConfiguration;
@@ -61,6 +58,8 @@ public class Axis2SynapseEnvironment imp
     /** The StatisticsCollector object */
     private StatisticsCollector statisticsCollector = new StatisticsCollector();
 
+    private ServerContextInformation contextInformation;
+
     public Axis2SynapseEnvironment(SynapseConfiguration synCfg) {
 
         int coreThreads = SynapseThreadPool.SYNAPSE_CORE_THREADS;
@@ -100,6 +99,12 @@ public class Axis2SynapseEnvironment imp
         this.synapseConfig = synapseConfig;
     }
 
+    public Axis2SynapseEnvironment(ConfigurationContext cfgCtx,
+        SynapseConfiguration synapseConfig, ServerContextInformation contextInformation) {
+        this(cfgCtx, synapseConfig);
+        this.contextInformation = contextInformation;        
+    }
+
     public boolean injectMessage(final MessageContext synCtx) {
         if (log.isDebugEnabled()) {
             log.debug("Injecting MessageContext");
@@ -351,6 +356,15 @@ public class Axis2SynapseEnvironment imp
     }
 
     /**
+     * Retrive the {@link org.apache.synapse.ServerContextInformation} from the <code>environment.
+     * 
+     * @return ServerContextInformation of the environment
+     */
+    public ServerContextInformation getServerContextInformation() {
+        return contextInformation;
+    }
+
+    /**
      * Retrieves the {@link ConfigurationContext} associated with this <code>axis2SynapseEnv</code>
      *
      * @return configContext of the axis2 synapse environment

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseAxisServlet.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseAxisServlet.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseAxisServlet.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseAxisServlet.java Tue Sep 21 12:17:33 2010
@@ -42,8 +42,10 @@ public class SynapseAxisServlet extends 
      */
     public void init(ServletConfig config) throws ServletException {
         ServletContext servletContext = config.getServletContext();
-        this.configContext = (ConfigurationContext) ServerManager.getInstance().
-                getServerContextInformation().getServerContext();
+
+        //TODO SUPUN
+        /*this.configContext = (ConfigurationContext) ServerManager.getInstance().
+                getServerContextInformation().getServerContext();*/
         this.axisConfiguration = this.configContext.getAxisConfiguration();
         servletContext.setAttribute(this.getClass().getName(), this);
         this.servletConfig = config;

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Tue Sep 21 12:17:33 2010
@@ -36,6 +36,7 @@ import org.apache.sandesha2.client.Sande
 import org.apache.synapse.FaultHandler;
 import org.apache.synapse.SynapseConstants;
 import org.apache.synapse.SynapseException;
+import org.apache.synapse.ServerContextInformation;
 import org.apache.synapse.aspects.statistics.ErrorLogFactory;
 import org.apache.synapse.aspects.statistics.StatisticsReporter;
 import org.apache.synapse.config.SynapseConfigUtils;
@@ -66,13 +67,15 @@ public class SynapseCallbackReceiver imp
      * Create the *single* instance of this class that would be used by all anonymous services
      * used for outgoing messaging.
      * @param synCfg the Synapse configuration
+     * @param contextInformation server runtime information
      */
-    public SynapseCallbackReceiver(SynapseConfiguration synCfg) {
+    public SynapseCallbackReceiver(SynapseConfiguration synCfg,
+                                   ServerContextInformation contextInformation) {
 
         callbackStore = Collections.synchronizedMap(new HashMap<String, AxisCallback>());
 
         // create the Timer object and a TimeoutHandler task
-        TimeoutHandler timeoutHandler = new TimeoutHandler(callbackStore);
+        TimeoutHandler timeoutHandler = new TimeoutHandler(callbackStore, contextInformation);
         
         Timer timeOutTimer = synCfg.getSynapseTimer();
         long timeoutHandlerInterval = SynapseConfigUtils.getTimeoutHandlerInterval();

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseStartUpServlet.java Tue Sep 21 12:17:33 2010
@@ -42,19 +42,23 @@ public class SynapseStartUpServlet exten
     private static Log log = LogFactory.getLog(SynapseStartUpServlet.class);
     private static final String ALREADY_INITED = "synapseAlreadyInited";
 
+    public static final String SYNAPSE_SERVER_MANAGER = "synapse.server.manager";
+
     public void init() throws ServletException {
         ServletConfig servletConfig = getServletConfig();
         ServletContext servletContext = servletConfig.getServletContext();
         if (Boolean.TRUE.equals(servletContext.getAttribute(ALREADY_INITED))) {
             return;
         }
-        ServerManager serverManager = ServerManager.getInstance();
+        ServerManager serverManager = new ServerManager();
         ServerConfigurationInformation information =
                 ServerConfigurationInformationFactory.
                         createServerConfigurationInformation(servletConfig);
         serverManager.init(information, null);
         serverManager.start();
         servletContext.setAttribute(ALREADY_INITED, Boolean.TRUE);
+
+        servletContext.setAttribute(SYNAPSE_SERVER_MANAGER, serverManager);
     }
 
 
@@ -68,9 +72,13 @@ public class SynapseStartUpServlet exten
 
     public void destroy() {
         try {
-            ServerManager serverManager = ServerManager.getInstance();
-            serverManager.stop();
-            getServletContext().removeAttribute(ALREADY_INITED);
+            Object o = (ServerManager) getServletConfig().getServletContext().
+                    getAttribute(SYNAPSE_SERVER_MANAGER);
+            if (o != null && o instanceof ServerManager) {
+                ServerManager serverManager = (ServerManager) o;
+                serverManager.stop();
+                getServletContext().removeAttribute(ALREADY_INITED);
+            }
         } catch (Exception e) {
             log.error("Error stopping the Synapse listener manager", e);
         }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/TimeoutHandler.java Tue Sep 21 12:17:33 2010
@@ -24,6 +24,7 @@ import org.apache.commons.logging.LogFac
 import org.apache.synapse.FaultHandler;
 import org.apache.synapse.MessageContext;
 import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.ServerContextInformation;
 import org.apache.synapse.aspects.statistics.StatisticsCleaner;
 import org.apache.synapse.aspects.statistics.StatisticsCollector;
 import org.apache.synapse.config.SynapseConfigUtils;
@@ -58,9 +59,11 @@ public class TimeoutHandler extends Time
     private long globalTimeout = SynapseConstants.DEFAULT_GLOBAL_TIMEOUT;
     private static final String SEND_TIMEOUT_MESSAGE = "Send timeout";
     private StatisticsCleaner statisticsCleaner;
+    private ServerContextInformation contextInfo = null;
 
-    public TimeoutHandler(Map callbacks) {
+    public TimeoutHandler(Map callbacks, ServerContextInformation contextInfo) {
         this.callbackStore = callbacks;
+        this.contextInfo = contextInfo;
         this.globalTimeout = SynapseConfigUtils.getGlobalTimeoutInterval();
         log.info("This engine will expire all callbacks after : " + (globalTimeout / 1000) +
                 " seconds, irrespective of the timeout action," +
@@ -87,7 +90,7 @@ public class TimeoutHandler extends Time
 
         //clear the expired statistics
         if (statisticsCleaner == null) {
-            StatisticsCollector collector = SynapseConfigUtils.getStatisticsCollector();
+            StatisticsCollector collector = SynapseConfigUtils.getStatisticsCollector(contextInfo);
             if (collector != null) {
                 statisticsCleaner = new StatisticsCleaner(collector);
             }

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/AbstractSynapseArtifactDeployer.java Tue Sep 21 12:17:33 2010
@@ -32,9 +32,7 @@ import org.apache.axis2.util.XMLPrettyPr
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.ServerManager;
-import org.apache.synapse.ServerState;
-import org.apache.synapse.SynapseConstants;
+import org.apache.synapse.*;
 import org.apache.synapse.config.SynapseConfiguration;
 import org.apache.synapse.core.SynapseEnvironment;
 
@@ -93,7 +91,7 @@ public abstract class AbstractSynapseArt
             log.debug("Deployment of the synapse artifact from file : " + filename + " : STARTED");
         }
 
-        if (ServerManager.getInstance().getServerState() != ServerState.STARTED) {
+        if (getServerContextInformation().getServerState() != ServerState.STARTED) {
             // synapse server has not yet being started
             if (log.isDebugEnabled()) {
                 log.debug("Skipped the artifact deployment (since the Synapse " +
@@ -316,6 +314,30 @@ public abstract class AbstractSynapseArt
         return (SynapseEnvironment) synCfgParam.getValue();
     }
 
+    protected ServerConfigurationInformation getServerConfigurationInformation() 
+            throws DeploymentException {
+        Parameter serverCfgParam =
+                cfgCtx.getAxisConfiguration().getParameter(
+                        SynapseConstants.SYNAPSE_SERVER_CONFIG_INFO);
+        if (serverCfgParam == null) {
+            throw new DeploymentException("SynapseConfigurationInformation not found. " +
+                    "Are you sure that you are running Synapse?");
+        }
+        return (ServerConfigurationInformation) serverCfgParam.getValue();
+    }
+
+    protected ServerContextInformation getServerContextInformation()
+            throws DeploymentException {
+        Parameter serverCtxParam =
+                cfgCtx.getAxisConfiguration().getParameter(
+                        SynapseConstants.SYNAPSE_SERVER_CTX_INFO);
+        if (serverCtxParam == null) {
+            throw new DeploymentException("ServerContextInformation not found. " +
+                    "Are you sure that you are running Synapse?");
+        }
+        return (ServerContextInformation) serverCtxParam.getValue();
+    }
+
     protected void writeToFile(OMElement content, String fileName) throws Exception {
         // this is not good, but I couldn't think of a better design :-(
         SynapseArtifactDeploymentStore deploymentStore =

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EndpointDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EndpointDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EndpointDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EndpointDeployer.java Tue Sep 21 12:17:33 2010
@@ -167,8 +167,7 @@ public class EndpointDeployer extends Ab
                     = getSynapseConfiguration().getDefinedEndpoints().get(artifactName);
             OMElement epElem = EndpointSerializer.getElementFromEndpoint(ep);
             if (ep.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.ENDPOINTS_DIR
                         + File.separator + ep.getFileName();
                 writeToFile(epElem, fileName);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EventSourceDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EventSourceDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EventSourceDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/EventSourceDeployer.java Tue Sep 21 12:17:33 2010
@@ -160,8 +160,7 @@ public class EventSourceDeployer extends
                     = getSynapseConfiguration().getEventSource(artifactName);
             OMElement esElem = EventSourceSerializer.serializeEventSource(null, es);
             if (es.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.EVENTS_DIR
                         + File.separator + es.getFileName();
                 writeToFile(esElem, fileName);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/LocalEntryDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/LocalEntryDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/LocalEntryDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/LocalEntryDeployer.java Tue Sep 21 12:17:33 2010
@@ -151,8 +151,7 @@ public class LocalEntryDeployer extends 
             Entry e = getSynapseConfiguration().getDefinedEntries().get(artifactName);
             OMElement entryElem = EntrySerializer.serializeEntry(e, null);
             if (e.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.LOCAL_ENTRY_DIR
                         + File.separator + e.getFileName();
                 writeToFile(entryElem, fileName);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/ProxyServiceDeployer.java Tue Sep 21 12:17:33 2010
@@ -177,8 +177,7 @@ public class ProxyServiceDeployer extend
                     = getSynapseConfiguration().getProxyService(artifactName);
             OMElement proxyElem = ProxyServiceSerializer.serializeProxy(null, proxy);
             if (proxy.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.PROXY_SERVICES_DIR
                         + File.separator + proxy.getFileName();
                 writeToFile(proxyElem, fileName);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SequenceDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SequenceDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SequenceDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/SequenceDeployer.java Tue Sep 21 12:17:33 2010
@@ -184,8 +184,7 @@ public class SequenceDeployer extends Ab
             OMElement seqElem = MediatorSerializerFinder.getInstance().getSerializer(seq).
                     serializeMediator(null, seq);
             if (seq.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.SEQUENCES_DIR
                         + File.separator + seq.getFileName();
                 writeToFile(seqElem, fileName);

Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/deployers/TaskDeployer.java Tue Sep 21 12:17:33 2010
@@ -155,8 +155,7 @@ public class TaskDeployer extends Abstra
             Startup st = getSynapseConfiguration().getStartup(artifactName);
             OMElement stElem = StartupFinder.getInstance().serializeStartup(null, st);
             if (st.getFileName() != null) {
-                String fileName = ServerManager.getInstance()
-                        .getServerConfigurationInformation().getSynapseXMLLocation()
+                String fileName = getServerConfigurationInformation().getSynapseXMLLocation()
                         + File.separator + MultiXMLConfigurationBuilder.TASKS_DIR
                         + File.separator + st.getFileName();
                 writeToFile(stElem, fileName);

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=999371&r1=999370&r2=999371&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 Tue Sep 21 12:17:33 2010
@@ -240,7 +240,7 @@ public abstract class AbstractEndpoint e
 
         // if the envelope preserving set build the envelope
         MediatorProperty preserveEnv = getProperty(SynapseConstants.PRESERVE_ENVELOPE);
-        if (JavaUtils.isTrueExplicitly(preserveEnv.getValue() != null ?
+        if (preserveEnv != null && JavaUtils.isTrueExplicitly(preserveEnv.getValue() != null ?
                 preserveEnv.getValue() : preserveEnv.getEvaluatedExpression(synCtx))) {
             if (traceOrDebugOn) {
                 traceOrDebug(traceOn, "Preserving the envelope by building it before " +

Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/n2n/SynapseCommodityServiceTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/n2n/SynapseCommodityServiceTest.java?rev=999371&r1=999370&r2=999371&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/n2n/SynapseCommodityServiceTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/n2n/SynapseCommodityServiceTest.java Tue Sep 21 12:17:33 2010
@@ -77,8 +77,9 @@ public class SynapseCommodityServiceTest
         synTrsIn.getParameter("port").setValue("12100");
         startServer(synapseConfigCtx);
 
-        ServerContextInformation contextInformation = new ServerContextInformation(synapseConfigCtx);
-        ServerManager serverManager = ServerManager.getInstance();
+        ServerContextInformation contextInformation =
+                new ServerContextInformation(synapseConfigCtx, information);
+        ServerManager serverManager = new ServerManager();
         serverManager.init(information, contextInformation);
         serverManager.start();