You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/10/01 10:20:03 UTC
svn commit: r700713 -
/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj
Author: simoneg
Date: Wed Oct 1 01:20:02 2008
New Revision: 700713
URL: http://svn.apache.org/viewvc?rev=700713&view=rev
Log:
LABS-156: Abstract aspect then concretized in web to clean up all thread locals used in the flow of the request handling
Added:
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj
Added: labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj?rev=700713&view=auto
==============================================================================
--- labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj (added)
+++ labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/ThreadLocalInterceptor.aj Wed Oct 1 01:20:02 2008
@@ -0,0 +1,22 @@
+package org.apache.magma.beans;
+
+import java.util.Set;
+import java.util.HashSet;
+
+public abstract aspect ThreadLocalInterceptor percflow(scope()){
+
+ private Set<ThreadLocal> locals = new HashSet<ThreadLocal>();
+
+ public abstract pointcut scope();
+
+ before(ThreadLocal loc) : call(void ThreadLocal.set(..)) && target(loc) {
+ locals.add(loc);
+ }
+
+ after() : scope() {
+ for (ThreadLocal local : locals) {
+ local.remove();
+ }
+ }
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org