Author: asankha
Date: Sun Jul 13 21:03:41 2008
New Revision: 19208
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=19208

Log:
make restarts via JMX set the correct (new) configuration context to the 
ESBServlet


Modified:
   trunk/esb/java/modules/core/src/main/java/org/wso2/esb/ServiceBusManager.java
   
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/transport/tomcat/ESBServlet.java

Modified: 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/ServiceBusManager.java
URL: 
http://wso2.org/svn/browse/wso2/trunk/esb/java/modules/core/src/main/java/org/wso2/esb/ServiceBusManager.java?rev=19208&r1=19207&r2=19208&view=diff
==============================================================================
--- 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/ServiceBusManager.java   
    (original)
+++ 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/ServiceBusManager.java   
    Sun Jul 13 21:03:41 2008
@@ -49,6 +49,7 @@
 import org.wso2.esb.registry.ESBRegistry;
 import org.wso2.esb.statistics.StatisticsReporterThread;
 import org.wso2.esb.util.HibernateConfigCache;
+import org.wso2.esb.transport.tomcat.ESBServlet;
 import org.quartz.impl.DirectSchedulerFactory;
 import org.quartz.SchedulerException;
 import org.quartz.Scheduler;
@@ -105,6 +106,8 @@
     private boolean serviceBusManagerStarted = false;
     /** Is the ESB running ? */
     private boolean esbRunning = false;
+    /** A reference to the ESBServlet */
+    private ESBServlet esbServlet = null;
 
     private ServiceBusManager() {}
 
@@ -197,6 +200,10 @@
         configurationContext = 
ServerManager.getInstance().getConfigurationContext();
         // set ESB defaults to the Synapse config (e.g. Registry)
         setESBDefaults(configurationContext);
+        // update ESBServlet
+        if (esbServlet != null) {
+            esbServlet.updateConfigurationContext(configurationContext);
+        }
 
         // start the statistics reporter
         startStatisticsReporter();
@@ -833,4 +840,8 @@
     public ClassLoader getClassLoader() {
         return classLoader;
     }
+
+    public void setEsbServlet(ESBServlet esbServlet) {
+        this.esbServlet = esbServlet;
+    }
 }

Modified: 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/transport/tomcat/ESBServlet.java
URL: 
http://wso2.org/svn/browse/wso2/trunk/esb/java/modules/core/src/main/java/org/wso2/esb/transport/tomcat/ESBServlet.java?rev=19208&r1=19207&r2=19208&view=diff
==============================================================================
--- 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/transport/tomcat/ESBServlet.java
     (original)
+++ 
trunk/esb/java/modules/core/src/main/java/org/wso2/esb/transport/tomcat/ESBServlet.java
     Sun Jul 13 21:03:41 2008
@@ -22,6 +22,7 @@
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.xpath.AXIOMXPath;
 import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.context.ConfigurationContext;
 import org.apache.axis2.description.TransportInDescription;
 import org.apache.axis2.transport.http.AxisServlet;
 import org.apache.axis2.transport.http.ListingAgent;
@@ -60,6 +61,7 @@
         ServletContext servletContext = servletConfig.getServletContext();
         configContext = 
ServiceBusManager.getInstance().getConfigurationContext();
         axisConfiguration = configContext.getAxisConfiguration();
+        ServiceBusManager.getInstance().setEsbServlet(this);
         servletContext.setAttribute(this.getClass().getName(), this);
         agent = new ListingAgent(configContext);
         populateGetRequestProcessors();
@@ -74,6 +76,10 @@
         return getServletConfig().getServletContext();
     }
 
+    public void updateConfigurationContext(ConfigurationContext cfgCtx) {
+        configContext = cfgCtx;
+        axisConfiguration = configContext.getAxisConfiguration();        
+    }
 
     public ServletConfig getServletConfig() {
         return this.servletConfig;

_______________________________________________
Esb-java-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to