[jboss-user] [JBoss AOP] - Re: annotation-introduction + aspect oriented annotations
fabiocsilva
do-not-reply at jboss.com
Tue Nov 28 22:04:16 EST 2006
The code not yet is executing.
|
| SystemRecord.java :
|
| package util;
|
| import java.lang.annotation.ElementType;
| import java.lang.annotation.Target;
|
| @Target({ElementType.CONSTRUCTOR})
| public @interface SystemRecord {
|
| }
|
| SomeClass.java : :)
|
| package gui.complaints;
|
| public class SomeClass {
|
| public SomeClass() {
| }
|
| }
|
|
| Main class:
|
| package test;
| import gui.complaints.SomeClass;
|
| public class Main {
|
|
| public static void main(String[] args) {
| new SomeClass();
|
| }
|
| }
|
|
| jboss-aop.xml :
|
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
| <aop>
| <annotation-introduction expr="class(gui.complaints.*)">
| @util.SystemRecord
| </annotation-introduction>
|
| <bind pointcut="call(@util.SystemRecord->new())">
| <interceptor class="aspects.SystemRecordInterceptor" />
| </bind>
|
| </aop>
|
|
I made the following modifications to test annotation binding:
|
| jboss-aop.xml
|
| <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
| <aop>
|
| <bind pointcut="call(@util.SystemRecord->new())">
| <interceptor class="aspects.SystemRecordInterceptor" />
| </bind>
|
| </aop>
|
|
| package gui.complaints;
|
| public class SomeClass {
|
| @util.SystemRecord public SomeClass() {
|
| }
|
| }
|
|
result:nothing
when I changed the jboss-aop.xml for
| <bind pointcut="call(*->@util.SystemRecord())">...
|
result:
| [java] defrost(): test.Main_1_ConByMInvocation was pruned.
| [java] java.lang.RuntimeException: defrost(): test.Main_1_ConByMInvocation was pruned.
| [java] at javassist.CtClassType.checkPruned(CtClassType.java:1284)
| [java] at javassist.CtClassType.defrost(CtClassType.java:276)
| [java] at org.jboss.aop.instrument.OptimizedInvocations.defrostClassIfExists(OptimizedInvocations.java:66)
| [java] at org.jboss.aop.instrument.OptimizedInvocations.makeInvocationClass(OptimizedInvocations.java:105)
| [java] at org.jboss.aop.instrument.OptimizedCallerInvocations.createOptimizedConCalledByMethodInvocationClass(OptimizedCallerInvocations.java:280)
| [java] at org.jboss.aop.instrument.OptimizedCallerTransformer$OptimizedCallerExprEditor.setupMethod(OptimizedCallerTransformer.java:91)
| [java] at org.jboss.aop.instrument.CallerTransformer$CallerExprEditor.modifyMethod(CallerTransformer.java:468)
| [java] at org.jboss.aop.instrument.CallerTransformer$CallerExprEditor.edit(CallerTransformer.java:452)
| [java] at javassist.expr.ExprEditor.loopBody(ExprEditor.java:198)
| [java] at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
| [java] at javassist.CtBehavior.instrument(CtBehavior.java:526)
| [java] at org.jboss.aop.instrument.CallerTransformer.applyCallerPointcuts(CallerTransformer.java:90)
| [java] at org.jboss.aop.instrument.Instrumentor.applyCallerPointcuts(Instrumentor.java:537)
| [java] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:657)
| [java] at org.jboss.aop.AspectManager.translate(AspectManager.java:908)
| [java] at org.jboss.aop.AspectManager.transform(AspectManager.java:820)
| [java] at org.jboss.aop.standalone.AOPTransformer.aspectTransform(AOPTransformer.java:88)
| [java] at org.jboss.aop.standalone.AOPTransformer.transform(AOPTransformer.java:75)
| [java] at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
| [java] at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
| [java] at java.lang.ClassLoader.defineClass1(Native Method)
| [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
| [java] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
| [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
| [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
| [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
| [java] at java.security.AccessController.doPrivileged(Native Method)
| [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
| [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
| [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| [java] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
| [java] javassist.CannotCompileException: by java.lang.RuntimeException: defrost(): test.Main_1_ConByMInvocation was pruned.
| [java] at org.jboss.aop.instrument.CallerTransformer$CallerExprEditor.edit(CallerTransformer.java:460)
| [java] at javassist.expr.ExprEditor.loopBody(ExprEditor.java:198)
| [java] at javassist.expr.ExprEditor.doit(ExprEditor.java:90)
| [java] at javassist.CtBehavior.instrument(CtBehavior.java:526)
| [java] at org.jboss.aop.instrument.CallerTransformer.applyCallerPointcuts(CallerTransformer.java:90)
| [java] at org.jboss.aop.instrument.Instrumentor.applyCallerPointcuts(Instrumentor.java:537)
| [java] at org.jboss.aop.instrument.Instrumentor.transform(Instrumentor.java:657)
| [java] at org.jboss.aop.AspectManager.translate(AspectManager.java:908)
| [java] at org.jboss.aop.AspectManager.transform(AspectManager.java:820)
| [java] at org.jboss.aop.standalone.AOPTransformer.aspectTransform(AOPTransformer.java:88)
| [java] at org.jboss.aop.standalone.AOPTransformer.transform(AOPTransformer.java:75)
| [java] at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
| [java] at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
| [java] at java.lang.ClassLoader.defineClass1(Native Method)
| [java] at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
| [java] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
| [java] at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
| [java] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
| [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
| [java] at java.security.AccessController.doPrivileged(Native Method)
| [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
| [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
| [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| [java] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
| [java] Caused by: java.lang.RuntimeException: defrost(): test.Main_1_ConByMInvocation was pruned.
| [java] at javassist.CtClassType.checkPruned(CtClassType.java:1284)
| [java] at javassist.CtClassType.defrost(CtClassType.java:276)
| [java] at org.jboss.aop.instrument.OptimizedInvocations.defrostClassIfExists(OptimizedInvocations.java:66)
| [java] at org.jboss.aop.instrument.OptimizedInvocations.makeInvocationClass(OptimizedInvocations.java:105)
| [java] at org.jboss.aop.instrument.OptimizedCallerInvocations.createOptimizedConCalledByMethodInvocationClass(OptimizedCallerInvocations.java:280)
| [java] at org.jboss.aop.instrument.OptimizedCallerTransformer$OptimizedCallerExprEditor.setupMethod(OptimizedCallerTransformer.java:91)
| [java] at org.jboss.aop.instrument.CallerTransformer$CallerExprEditor.modifyMethod(CallerTransformer.java:468)
| [java] at org.jboss.aop.instrument.CallerTransformer$CallerExprEditor.edit(CallerTransformer.java:452)
| [java] ... 24 more
| [java] [error] failed to transform: test.Main.. Do verbose mode if you want full stack trace.
|
What is this ?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3989555#3989555
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989555
More information about the jboss-user
mailing list