Hi,
It is not allowed to put an expression in the 'class' attribute of
'aspect' tag.
Still, you can simulate the inheritance of aspect advices. As Stalep said, you need to
declare the subclasses as aspects in the xml file, and declare the bindings like in the
following example.
| >>>>> ASPECTS
|
| class MyAspect1 extends MySuperAspect
| {
| public Object advice(Invocation invocation) throws Throwable
| {
| // do something I want to and then invoke super aspect
| return super.advice(invocation);
| }
| }
|
| class MyAspect2 extends MySuperAspect
| {
| public Object advice(Invocation invocation) throws Throwable
| {
| // do only what I want to, don't call super aspect
| .....
| return invocation.invokeNext();
| }
| }
|
| public abstract class MySuperAspect
| {
| public Object advice(Invocation invocation) throw Throwable
| {
| ....
| }
| }
|
| >>>>> XML FILE
|
| <?xml ....?>
| <aop>
| <aspect class="MyAspect1" scope="PER_VM" />
| <aspect class="MyAspect2" scope="PER_VM" />
|
| <bind pointcut=">whatever you want here<" />
| <advice name="advice" aspect="MyAspect1"/>
| <advice name="advice" aspect="MyAspect2"/>
| </bind>
| </aop>
|
Notice MySuperAspect can also be an interface or a concrete class.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3991008#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...