Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Unable to find class

Hi,

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

@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]


Back to the top