Author: remy.maucherat(a)jboss.com
Date: 2010-09-14 09:07:25 -0400 (Tue, 14 Sep 2010)
New Revision: 1549
Modified:
trunk/java/org/apache/catalina/Context.java
trunk/java/org/apache/catalina/core/StandardContext.java
Log:
- Add a lifecycle event for finer thread association management during start/stop of a
webapp.
Modified: trunk/java/org/apache/catalina/Context.java
===================================================================
--- trunk/java/org/apache/catalina/Context.java 2010-09-11 10:04:33 UTC (rev 1548)
+++ trunk/java/org/apache/catalina/Context.java 2010-09-14 13:07:25 UTC (rev 1549)
@@ -76,6 +76,18 @@
public static final String COMPLETE_CONFIG_EVENT = "complete-config";
+ /**
+ * The LifecycleEvent type sent to bind context information to the thread.
+ */
+ public static final String BIND_THREAD_EVENT = "bind-thread";
+
+
+ /**
+ * The LifecycleEvent type sent to unbind context information to the thread.
+ */
+ public static final String UNBIND_THREAD_EVENT = "unbind-thread";
+
+
// ------------------------------------------------------------- Properties
Modified: trunk/java/org/apache/catalina/core/StandardContext.java
===================================================================
--- trunk/java/org/apache/catalina/core/StandardContext.java 2010-09-11 10:04:33 UTC (rev
1548)
+++ trunk/java/org/apache/catalina/core/StandardContext.java 2010-09-14 13:07:25 UTC (rev
1549)
@@ -4207,6 +4207,8 @@
(getLoader().getClassLoader());
}
+ lifecycle.fireLifecycleEvent(BIND_THREAD_EVENT, null);
+
DirContextURLStreamHandler.bind(getResources());
return oldContextClassLoader;
@@ -4219,6 +4221,8 @@
*/
protected void unbindThread(ClassLoader oldContextClassLoader) {
+ lifecycle.fireLifecycleEvent(UNBIND_THREAD_EVENT, null);
+
Thread.currentThread().setContextClassLoader(oldContextClassLoader);
oldContextClassLoader = null;
Show replies by date