[aspectwerkz-user] Problem with offline weaving: NoAspectBound: Could not find Aspec tDefinition

"Kaplun, Ilya" <[email protected]>
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <C2665A362EEB9545B46219414A8C4F3001665CB0@wa-exchange01>
Hello,

I have recently started using AspectWerkz, and am having a lot of trouble
getting my first aspect up and running. I am trying to weave the aspect
offline using the ant task, and then deploy to a Catalina servlet container.


The compilation and weaving happens without errors. If I have the "genjp"
option set to false, the aspect methods are just never called. If I set
"genjp" to true, and include the built aspect class in my end jar file, I
get the following error:

org.codehaus.aspectwerkz.aspect.management.NoAspectBoundException:
NoAspectBound: NoAspectBound: Could not find AspectDefinition
- nat_srv_java/LoggingAspect

Thanks in advance for your help!

Ilya


#########################Ant Weaving Task
Call####################################
    <target name="aw-weave" if="weave">
        <!-- Weave AspectWerkz Aspects -->
        <awc
            verbose="true"
            taskverbose="true"
            genjp="true" 
            definition="${basedir}/src/aop.xml"
            classpathref="project.classpath">
            <target path="${build}"/>
        </awc>

#########################LoggingAspect######################################
#
package com.abc.mt.logging;

import org.codehaus.aspectwerkz.AspectContext;
import org.codehaus.aspectwerkz.joinpoint.JoinPoint;
import org.codehaus.aspectwerkz.joinpoint.StaticJoinPoint;
import org.codehaus.aspectwerkz.joinpoint.MethodRtti;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class LoggingAspect {

    public LoggingAspect() {
    }


    public Object trace(JoinPoint joinPoint) throws Throwable {
        System.out.println("LoggingAspect.trace");
        Class theClass = joinPoint.getClass();
        Log log = LogFactory.getLog(theClass);
        if (log.isTraceEnabled()) {
            MethodRtti mrtti=(MethodRtti)joinPoint.getRtti();
            String methodName = mrtti.getMethod().getName();
            log.trace("Entering "+methodName);
            Object returnValue=joinPoint.proceed();
            log.trace("Exiting "+methodName);
            return returnValue;
        } else {
            return joinPoint.proceed();
        }
    }
}


#########################aop.xml#######################################

<!DOCTYPE aspectwerkz PUBLIC
	    "-//AspectWerkz//DTD 2.0//EN"
	    "http://aspectwerkz.codehaus.org/dtd/aspectwerkz_2_0.dtd">
<aspectwerkz>
    <system id="nat_srv_java">
        <aspect class="com.abc.mt.logging.LoggingAspect"
name="LoggingAspect">
            <pointcut name="allMethods" expression="execution(*
com.abc.mt.nat.Server.setServletContext(..))"/>
            <advice name="trace(JoinPoint)" type="around"
bind-to="allMethods"/>
        </aspect>
    </system>
</aspectwerkz>


#########################Pointcut
Location#######################################
package com.abc.mt.nat;

public class Server {    
    public void setServletContext(ServletContext sc) {
        this.sc=sc;
    }
}

#########################tomcat exception
trace#######################################

2005-05-05 14:51:16,198 [Thread-1] ERROR: Exception sending context
initialized event to listener instance of class
com.abc.mt.nat.StartupContextListener
  [localhost].[/nat_srv_webapp]
java.lang.ExceptionInInitializerError
        at com.abc.mt.nat.Server.setServletContext(Server.java)
        at
com.abc.mt.nat.StartupContextListener.contextInitialized(StartupContextListe
ner.java:40)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:
3669)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7
59)
        at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:788)
        at
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:677)
        at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
        at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
        at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSuppor
t.java:119)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
        at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
        at
org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at
org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
Caused by:
org.codehaus.aspectwerkz.aspect.management.NoAspectBoundException:
NoAspectBound: NoAspectBound: Could not find As
pectDefinition - nat_srv_java/LoggingAspect
        at
org.codehaus.aspectwerkz.aspect.management.Aspects.aspect$Of(Aspects.java:18
6)
        at
com.abc.mt.nat.Server_1__1738791317__356879184___AW_JoinPoint.aw$staticiniti
alization(Unknown Source)
        at
com.abc.mt.nat.Server_1__1738791317__356879184___AW_JoinPoint.<clinit>(Unkno
wn Source)
        ... 26 more
Caused by:
org.codehaus.aspectwerkz.aspect.management.NoAspectBoundException:
NoAspectBound: Could not find AspectDefinition
- nat_srv_java/LoggingAspect
        at
org.codehaus.aspectwerkz.aspect.management.Aspects.lookupAspectDefinition(As
pects.java:309)
        at
org.codehaus.aspectwerkz.aspect.management.Aspects.createAspectContainer(Asp
ects.java:223)
        at
org.codehaus.aspectwerkz.aspect.management.Aspects.getContainerQNamed(Aspect
s.java:84)
        at
org.codehaus.aspectwerkz.aspect.management.Aspects.aspect$Of(Aspects.java:18
4)
        ... 28 more
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.