[aspectwerkz-user] Custom annotation is not wrapped in AnnotationInfo

Kenji Nakamura <[email protected]>
Newsgroups gmane.comp.java.aspectwerkz.user
Message-ID <[email protected]>
Hi,

I'm working on integrating AspectWerkz2.0 into jboss 3.2.6 and Apple  
JDK1.4.2 with prepared-classpath weaving.
I could use aspects with XML definition, but have problem with  
annotations.
The source was processed with AnnotationC ant task (via maven.xml).
How should I interpret the error message?

Thanks in advance,


AnnotationC maven.xml
     <goal name="build:aw2annotationc"
           description="Run aspectwerkz 2 annotation compiler" >
       <ant:taskdef name="annotationc"
                     
classname="org.codehaus.aspectwerkz.annotation.AnnotationCTask"
                    classpathref="maven.dependency.classpath" />
       <ant:annotationc verbose="true"
                         
properties="${basedir}/src/resources/main/annotation.properties"
                        destdir="${basedir}/target/classes"
                        copytodest="**/*.class">
         <ant:src path="${basedir}/src/java/main" />
         <ant:classpath path="${basedir}/target/classes" />
       </ant:annotationc>
     </goal>

AnnotationC output
AnnotationC::INFO - parsing source dirs:
AnnotationC::INFO -      
/Users/user/repository/modules/aspect/src/java/main
AnnotationC::INFO - compiling annotations...
AnnotationC::INFO - note: if no output is seen, then nothing is compiled
AnnotationC::INFO - class [com.example.deliver.ProgressBarLoggingAspect]
AnnotationC::INFO - class [com.example.token.InstanceLogFilterAspect]
AnnotationC::INFO - compiled classes written to  
/Users/user/repository/modules/aspect/target/classes
AnnotationC::INFO - compilation successful


StackTrace
   java.lang.RuntimeException: Custom annotation is not wrapped in  
AnnotationInfo: org.codehaus.aspectwerkz.annotation.AnnotationInfo  
[sun.misc.Launcher$AppClassLoader@53ba3d /  
org.codehaus.classworlds.RealmClassLoader@b3b6a6 /  
org.jboss.mx.loading.UnifiedClassLoader3@502283{  
url=file:/Users/user/jboss/server/foobar/tmp/deploy/tmp6798jboss- 
service.xml ,addedOrder=2}
	at  
org.codehaus.aspectwerkz.annotation.instrumentation.asm.CustomAttributeH 
elper.extractCustomAnnotation(CustomAttributeHelper.java:59)
	at  
org.codehaus.aspectwerkz.annotation.instrumentation.asm.CustomAttributeH 
elper.extractCustomAnnotation(CustomAttributeHelper.java:43)
	at  
org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotationHel 
per.extractAnnotations(AsmAnnotationHelper.java:271)
	at  
org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotationHel 
per$MethodAnnotationExtractor.visitMethod(AsmAnnotationHelper.java:126)
	at  
org.codehaus.aspectwerkz.org.objectweb.asm.ClassReader.accept(Unknown  
Source)
	at  
org.codehaus.aspectwerkz.reflect.impl.asm.AsmMethodInfo.getAnnotations(A 
smMethodInfo.java:213)
	at  
org.codehaus.aspectwerkz.annotation.instrumentation.asm.AsmAnnotations.g 
etAnnotations(AsmAnnotations.java:127)
	at  
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parsePointcut 
Attributes(AspectAnnotationParser.java:210)
	at  
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parseMethodAt 
tributes(AspectAnnotationParser.java:182)
	at  
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.doParse(Aspec 
tAnnotationParser.java:100)
	at  
org.codehaus.aspectwerkz.annotation.AspectAnnotationParser.parse(AspectA 
nnotationParser.java:57)
	at  
org.codehaus.aspectwerkz.definition.DocumentParser.parseAspectElements(D 
ocumentParser.java:433)
	at  
org.codehaus.aspectwerkz.definition.DocumentParser.parsePackageElements( 
DocumentParser.java:353)
	at  
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElement(Do 
cumentParser.java:238)
	at  
org.codehaus.aspectwerkz.definition.DocumentParser.parseSystemElements(D 
ocumentParser.java:181)
	at  
org.codehaus.aspectwerkz.definition.DocumentParser.parse(DocumentParser. 
java:168)
	at  
org.codehaus.aspectwerkz.definition.XmlParser.parseNoCache(XmlParser.jav 
a:178)
	at  
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.registerCl 
assLoader(SystemDefinitionContainer.java:139)
	at  
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getHierarc 
hicalDefinitionsFor(SystemDefinitionContainer.java:317)
	at  
org.codehaus.aspectwerkz.definition.SystemDefinitionContainer.getDefinit 
ionsFor(SystemDefinitionContainer.java:225)
	at  
org.codehaus.aspectwerkz.transform.inlining.ContextImpl.<init>(ContextIm 
pl.java:99)
	at  
org.codehaus.aspectwerkz.transform.inlining.InliningWeavingStrategy.newC 
ontext(InliningWeavingStrategy.java:259)
	at  
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor._preProcess(A 
spectWerkzPreProcessor.java:166)
	at  
org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor.preProcess(As 
pectWerkzPreProcessor.java:148)
	at  
org.codehaus.aspectwerkz.hook.impl.ClassPreProcessorHelper.defineClass0P 
re(ClassPreProcessorHelper.java:107)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
	at  
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
	at  
org.jboss.mx.loading.UnifiedClassLoader.findClass(UnifiedClassLoader.jav 
a:520)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:289)


Here is the aop.xml.
<aspectwerkz>
	<system id="app">
		<package name="com.example.token">
		    <aspect class="InstanceLogFilterAspect"></aspect>
		</package>
	</system>
</aspectwerkz>

This is the source with annotation.

     /**
      * @Around("call(* com.example.util.logging.Logger.info(..))")
      */
     public Object dynamicFilterLog(JoinPoint sjp) throws Throwable {
         log.info("=========== Intercepted by InstanceLogFilterAspect.  
============== ");

         return sjp.proceed();
     }
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.