From: Mathieu Baudier Date: Sun, 29 Jun 2008 20:09:47 +0000 (+0000) Subject: Make sure Spring context will be properly closed X-Git-Tag: argeo-slc-2.1.7~2703 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=c0460581ca0679267f9c66759ea9ecf598e1b6d0;p=gpl%2Fargeo-slc.git Make sure Spring context will be properly closed git-svn-id: https://svn.argeo.org/slc/trunk@1339 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java index 7c85fc239..b6c98ebbc 100644 --- a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java +++ b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/AntSlcApplication.java @@ -32,7 +32,6 @@ import org.springframework.beans.factory.BeanFactoryUtils; import org.springframework.beans.factory.ListableBeanFactory; import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; -import org.springframework.context.ApplicationContext; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.GenericApplicationContext; import org.springframework.core.io.DefaultResourceLoader; @@ -68,29 +67,32 @@ public class AntSlcApplication { log.debug("workDir=" + workDir); } - // Spring initialization - ConfigurableApplicationContext ctx = createExecutionContext(slcExecution); - // Ant coordinates String scriptRelativePath = findAntScript(slcExecution); List targets = findAntTargets(slcExecution); + // Spring initialization + ConfigurableApplicationContext ctx = createExecutionContext(slcExecution); + // Ant project initialization Project project = new Project(); AntExecutionContext executionContext = new AntExecutionContext(project); project.addReference(AntConstants.REF_ROOT_CONTEXT, ctx); project.addReference(AntConstants.REF_SLC_EXECUTION, slcExecution); - initProject(project, properties, references); - parseProject(project, scriptRelativePath); - // Execute project - initStructure(project, scriptRelativePath); - runProject(project, targets); + try { + initProject(project, properties, references); + parseProject(project, scriptRelativePath); - if (executionOutput != null) - executionOutput.postExecution(executionContext); + // Execute project + initStructure(project, scriptRelativePath); + runProject(project, targets); - ctx.close(); + if (executionOutput != null) + executionOutput.postExecution(executionContext); + } finally { + ctx.close(); + } } protected void initSystemProperties(Properties userProperties) { diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java index 607304458..43ad31306 100644 --- a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java +++ b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ws/client/WebServiceUtils.java @@ -5,16 +5,14 @@ import java.util.Iterator; import javax.xml.transform.Source; import javax.xml.transform.dom.DOMSource; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.ws.client.core.WebServiceTemplate; import org.springframework.ws.soap.SoapFaultDetail; import org.springframework.ws.soap.SoapFaultDetailElement; import org.springframework.ws.soap.client.SoapFaultClientException; import org.springframework.xml.transform.StringResult; import org.w3c.dom.Node; -import org.w3c.dom.Text; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; public abstract class WebServiceUtils { private final static Log log = LogFactory.getLog(WebServiceUtils.class); diff --git a/org.argeo.slc.agent/src/test/java/org/argeo/slc/ant/SlcAntTest.java b/org.argeo.slc.agent/src/test/java/org/argeo/slc/ant/SlcAntTest.java index 9cfa21422..5a58f1f95 100644 --- a/org.argeo.slc.agent/src/test/java/org/argeo/slc/ant/SlcAntTest.java +++ b/org.argeo.slc.agent/src/test/java/org/argeo/slc/ant/SlcAntTest.java @@ -1,11 +1,6 @@ package org.argeo.slc.ant; -import java.io.File; - import org.argeo.slc.ant.unit.MinimalAntClasspathTestCase; -import org.argeo.slc.core.process.SlcExecution; -import org.argeo.slc.unit.AbstractSpringTestCase; -import org.springframework.core.io.FileSystemResource; public class SlcAntTest extends MinimalAntClasspathTestCase { // private Log log = LogFactory.getLog(getClass());