From 03487dbfcaa9c5295c9735018e1a9a2bd728c780 Mon Sep 17 00:00:00 2001 From: Ivan Topolnak Date: Wed, 29 May 2013 18:51:31 -0300 Subject: testing different ways to make sure the inter-type defined members are final --- .../PromiseCompletingRunnableInstrumentation.aj | 16 ++++++++-------- src/main/resources/META-INF/aop.xml | 5 ++++- .../scala/kamon/instrumentation/TraceContextHolder.java | 17 +++++++++++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 src/main/scala/kamon/instrumentation/TraceContextHolder.java (limited to 'src') diff --git a/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj b/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj index 83e46be3..bd2a4d47 100644 --- a/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj +++ b/src/main/aspectj/kamon/instrumentation/PromiseCompletingRunnableInstrumentation.aj @@ -4,26 +4,26 @@ import kamon.TraceContext; import scala.concurrent.impl.Future; import scala.Option; -public aspect PromiseCompletingRunnableInstrumentation { +privileged public aspect PromiseCompletingRunnableInstrumentation { + + declare parents : Future.PromiseCompletingRunnable extends TraceContextHolder; - public final Option Future.PromiseCompletingRunnable.context = TraceContext.current(); pointcut run(Future.PromiseCompletingRunnable runnable) : execution(* scala.concurrent.impl.Future.PromiseCompletingRunnable.run()) && this(runnable); - void around(Future.PromiseCompletingRunnable runnable) + void around(TraceContextHolder runnable) : run(runnable) { - if(runnable.context.isDefined()) { - - TraceContext.set((TraceContext) runnable.context.get()); + if(runnable.getContext().isDefined()) { + System.out.println("########################################################3 There is some context"); + TraceContext.set(runnable.getContext().get()); proceed(runnable); TraceContext.clear(); } else { + System.out.println("########################################################3 There is NOOOOO context"); proceed(runnable); } - - } } diff --git a/src/main/resources/META-INF/aop.xml b/src/main/resources/META-INF/aop.xml index 4aac3913..cafba5ee 100644 --- a/src/main/resources/META-INF/aop.xml +++ b/src/main/resources/META-INF/aop.xml @@ -1,7 +1,10 @@ - + + + +