summaryrefslogtreecommitdiffstats
path: root/branches
diff options
context:
space:
mode:
Diffstat (limited to 'branches')
-rw-r--r--branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java8
-rw-r--r--branches/sca-java-1.x/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java4
2 files changed, 11 insertions, 1 deletions
diff --git a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java
index 504bd9b036..dd3a4f9ac3 100644
--- a/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java
+++ b/branches/sca-java-1.x/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/ThreadMessageContext.java
@@ -69,4 +69,12 @@ public final class ThreadMessageContext {
public static Message getMessageContext() {
return CONTEXT.get();
}
+
+ /**
+ * Removes and state from the current thread to ensure that
+ * any associated classloaders can be GCd
+ */
+ public static void removeMessageContext() {
+ CONTEXT.remove();
+ }
}
diff --git a/branches/sca-java-1.x/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java b/branches/sca-java-1.x/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
index a33d29df9f..27dd89d31b 100644
--- a/branches/sca-java-1.x/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
+++ b/branches/sca-java-1.x/modules/host-webapp/src/main/java/org/apache/tuscany/sca/host/webapp/WebAppServletHost.java
@@ -43,6 +43,7 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import org.apache.commons.logging.LogFactory;
+import org.apache.tuscany.sca.core.invocation.ThreadMessageContext;
import org.apache.tuscany.sca.host.embedded.SCADomain;
import org.apache.tuscany.sca.host.http.SecurityContext;
import org.apache.tuscany.sca.host.http.ServletHost;
@@ -329,7 +330,8 @@ public class WebAppServletHost implements ServletHost {
instance = null;
servlets.clear();
LogFactory.release(this.getClass().getClassLoader());
- Introspector.flushCaches();
+ Introspector.flushCaches();
+ ThreadMessageContext.removeMessageContext();
}
public String getContextPath() {