Hi,

I'm using AspectJ LTW and having the trouble with the following Aspect/P
ointcut:

@Aspect("perthis(actorCellCreation(*, *, *, *, *))")
class BehaviourInvokeTracing {
  var metricIdentity: ActorMetrics = _
  var actorMetrics: Option[ActorMetricRecorder] = None

  @Pointcut("execution(akka.actor.ActorCell.new(..)) && args(system, ref,
props, dispatcher, parent)")
  def actorCellCreation(system: ActorSystem, ref: ActorRef, props: Props,
dispatcher: MessageDispatcher, parent: ActorRef): Unit = {}

  @After("actorCellCreation(system, ref, props, dispatcher, parent)")
  def afterCreation(system: ActorSystem, ref: ActorRef, props: Props,
dispatcher: MessageDispatcher, parent: ActorRef): Unit = {
    val metricsExtension = Kamon(Metrics)(system)

    metricIdentity = ActorMetrics(ref.path.elements.mkString("/"))
    actorMetrics = metricsExtension.register(metricIdentity,
ActorMetrics.Factory)
  }

For some reason if I change the Aspect Instantiation to singleton all works
fine, otherwise throws an exception that i've included at the bottom.

Thanks,

-Diego


undefined][] [specs2.DefaultExecutionStrategy1]
org.aspectj.weaver.bcel.BcelWorld - Unable to find class
'akka.instrumentation.BehaviourInvokeTracing$ajcMightHaveAspect' in
repository
java.lang.ClassNotFoundException:
akka.instrumentation.BehaviourInvokeTracing$ajcMightHaveAspect not found -
unable to determine URL
at
org.aspectj.apache.bcel.util.ClassLoaderRepository.loadClass(ClassLoaderRepository.java:292)
~[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:418)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:392)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.World.resolveToReferenceType(World.java:477)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.World.resolve(World.java:318)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.World.resolve(World.java:228)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.UnresolvedType.resolve(UnresolvedType.java:616)
[aspectjweaver-1.7.4.jar:1.7.4]
at
org.aspectj.weaver.bcel.BcelTypeMunger.mungePerObjectInterface(BcelTypeMunger.java:796)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.bcel.BcelTypeMunger.munge(BcelTypeMunger.java:116)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:516)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:101)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1691)
[aspectjweaver-1.7.4.jar:1.7.4]
 at
org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1635)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1400)
[aspectjweaver-1.7.4.jar:1.7.4]
 at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1186)
[aspectjweaver-1.7.4.jar:1.7.4]
at
org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes(WeavingAdaptor.java:527)
[aspectjweaver-1.7.4.jar:1.7.4]
 at
org.aspectj.weaver.tools.WeavingAdaptor.weaveClass(WeavingAdaptor.java:363)
[aspectjweaver-1.7.4.jar:1.7.4]
at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:121)
[aspectjweaver-1.7.4.jar:1.7.4]
 at
org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform(ClassPreProcessorAgentAdapter.java:54)
[aspectjweaver-1.7.4.jar:1.7.4]
at sun.instrument.TransformerManager.transform(TransformerManager.java:188)
[na:1.7.0_45]
 at
sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:424)
[na:1.7.0_45]
at java.lang.ClassLoader.defineClass1(Native Method) [na:1.7.0_45]
 at java.lang.ClassLoader.defineClass(ClassLoader.java:800) [na:1.7.0_45]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
[na:1.7.0_45]
 at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
[na:1.7.0_45]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) [na:1.7.0_45]
 at java.net.URLClassLoader$1.run(URLClassLoader.java:361) [na:1.7.0_45]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) [na:1.7.0_45]
 at java.security.AccessController.doPrivileged(Native Method) [na:1.7.0_45]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) [na:1.7.0_45]
 at java.lang.ClassLoader.loadClass(ClassLoader.java:425) [na:1.7.0_45]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
[na:1.7.0_45]
 at java.lang.ClassLoader.loadClass(ClassLoader.java:358) [na:1.7.0_45]
at java.lang.Class.getDeclaredFields0(Native Method) [na:1.7.0_45]
 at java.lang.Class.privateGetDeclaredFields(Class.java:2397) [na:1.7.0_45]
at java.lang.Class.getDeclaredField(Class.java:1946) [na:1.7.0_45]
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to