You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by di...@apache.org on 2007/06/19 17:47:57 UTC
svn commit: r548771 - in
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2: context/
deployment/ deployment/scheduler/ engine/
Author: dims
Date: Tue Jun 19 08:47:55 2007
New Revision: 548771
URL: http://svn.apache.org/viewvc?view=rev&rev=548771
Log:
Fix for OutOfMemory and cleanup of files etc. Please see http://marc.info/?t=118217698900011&r=1&w=2 for more information
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/FileSystemConfigurator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/URLBasedAxisConfigurator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/scheduler/Scheduler.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfigurator.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/context/ConfigurationContext.java Tue Jun 19 08:47:55 2007
@@ -540,6 +540,7 @@
if (listenerManager != null) {
listenerManager.stop();
}
+ axisConfiguration.cleanup();
cleanupTemp();
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/DeploymentEngine.java Tue Jun 19 08:47:55 2007
@@ -53,6 +53,7 @@
//to keep the web resource location if any
protected static String webLocationString = null;
+ protected Scheduler scheduler;
public static void setWebLocationString(String webLocationString) {
DeploymentEngine.webLocationString = webLocationString;
@@ -598,7 +599,7 @@
* @param listener : RepositoryListener
*/
protected void startSearch(RepositoryListener listener) {
- Scheduler scheduler = new Scheduler();
+ scheduler = new Scheduler();
scheduler.schedule(new SchedulerTask(listener), new DeploymentIterator());
}
@@ -1070,5 +1071,14 @@
public Deployer getDeployerForExtension(String extension) {
return (Deployer)extensionToDeployerMappingMap.get(extension);
+ }
+
+ /**
+ * Clean up the mess
+ */
+ public void cleanup() {
+ if(scheduler != null){
+ scheduler.cleanup();
+ }
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/FileSystemConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/FileSystemConfigurator.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/FileSystemConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/FileSystemConfigurator.java Tue Jun 19 08:47:55 2007
@@ -13,6 +13,7 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.io.IOException;
/*
* Copyright 2004,2005 The Apache Software Foundation.
@@ -103,7 +104,7 @@
* @throws AxisFault
*/
public synchronized AxisConfiguration getAxisConfiguration() throws AxisFault {
- InputStream configStream;
+ InputStream configStream = null;
try {
if (axis2xml != null && !"".equals(axis2xml)) {
configStream = new FileInputStream(axis2xml);
@@ -114,6 +115,14 @@
axisConfig = populateAxisConfiguration(configStream);
} catch (FileNotFoundException e) {
throw new AxisFault("System can not find the given axis2.xml " + axis2xml);
+ } finally {
+ if(configStream != null) {
+ try {
+ configStream.close();
+ } catch (IOException e) {
+ throw AxisFault.makeFault(e);
+ }
+ }
}
Parameter axis2repoPara = axisConfig.getParameter(DeploymentConstants.AXIS2_REPO);
if (axis2repoPara != null) {
@@ -124,6 +133,7 @@
} else {
loadFromClassPath();
}
+ axisConfig.setConfigurator(this);
return axisConfig;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/URLBasedAxisConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/URLBasedAxisConfigurator.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/URLBasedAxisConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/URLBasedAxisConfigurator.java Tue Jun 19 08:47:55 2007
@@ -75,6 +75,7 @@
} catch (IOException e) {
throw new AxisFault(e.getMessage());
}
+ axisConfig.setConfigurator(this);
return axisConfig;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/WarBasedAxisConfigurator.java Tue Jun 19 08:47:55 2007
@@ -144,6 +144,9 @@
}
axisConfig = populateAxisConfiguration(axis2Stream);
+ if(axis2Stream != null){
+ axis2Stream.close();
+ }
Parameter param = new Parameter();
param.setName(Constants.Configuration.ARTIFACTS_TEMP_DIR);
param.setValue(config.getServletContext().getAttribute("javax.servlet.context.tempdir"));
@@ -233,6 +236,7 @@
log.error(ex + ": loading repository from classpath");
loadFromClassPath();
}
+ axisConfig.setConfigurator(this);
return axisConfig;
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/scheduler/Scheduler.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/scheduler/Scheduler.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/scheduler/Scheduler.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/deployment/scheduler/Scheduler.java Tue Jun 19 08:47:55 2007
@@ -63,6 +63,10 @@
}
}
+ public void cleanup(){
+ timer.cancel();
+ }
+
public class SchedulerTimerTask extends TimerTask {
private DeploymentIterator iterator;
private SchedulerTask schedulerTask;
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfiguration.java Tue Jun 19 08:47:55 2007
@@ -127,8 +127,10 @@
private ClusterManager clusterManager;
+ private AxisConfigurator configurator;
+
/**
- * Constructor AxisConfigurationImpl.
+ * Constructor AxisConfiguration.
*/
public AxisConfiguration() {
moduleConfigmap = new HashMap();
@@ -1057,5 +1059,19 @@
setInFaultPhases(phasesInfo.getGlobalInFaultPhases());
setGlobalOutPhase(phasesInfo.getGlobalOutPhaseList());
setOutFaultPhases(phasesInfo.getOUT_FaultPhases());
+ }
+
+ public AxisConfigurator getConfigurator() {
+ return configurator;
+ }
+
+ public void setConfigurator(AxisConfigurator configurator) {
+ this.configurator = configurator;
+ }
+
+ public void cleanup(){
+ if(configurator != null){
+ configurator.cleanup();
+ }
}
}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfigurator.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfigurator.java?view=diff&rev=548771&r1=548770&r2=548771
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfigurator.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/engine/AxisConfigurator.java Tue Jun 19 08:47:55 2007
@@ -40,4 +40,9 @@
* @throws AxisFault
*/
void engageGlobalModules() throws AxisFault;
+
+ /**
+ * Clean up the mess
+ */
+ void cleanup();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org