[jboss-jira] [JBoss JIRA] Created: (JBAOP-340) Enable chain overriding for container proxies
Kabir Khan (JIRA)
jira-events at jboss.com
Thu Jan 11 18:43:05 EST 2007
Enable chain overriding for container proxies
---------------------------------------------
Key: JBAOP-340
URL: http://jira.jboss.com/jira/browse/JBAOP-340
Project: JBoss AOP
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Affects Versions: 2.0.0.alpha2, 1.5.2.GA
Reporter: Kabir Khan
Fix For: 1.5.3.GA, 2.0.0.alpha3
This is needed for EJB 3
It's actually like this:
class Parent
{
void method(){}
}
@Stateful
@Clustered
class Child extends Parent
{
// no methods - all are inherited from Parent }
Child.method() is not intercepted when the pointcut is based on the @Clustered annotation. But it is intercepted by any interceptors with the following binding.
<bind pointcut="execution(public * *->*(..))">
<interceptor-ref name="XYZInterceptor"/>
</bind>
It's seems that since the method is defined in the Parent and inherited by the Child, but the annotation is in Child, that the interceptor is not included.
Thanks -Bill
-----Original Message-----
From: Kabir Khan
Sent: Thursday, January 11, 2007 9:05 AM
To: Bill Decoste
Subject: RE: annotations on parent class
Hmm,
If you have
class Parent
{
void parentMethod(){}
}
@Stateful
@Clustered
class Child extends Parent
{
void childMethod(){}
}
do any of these get intercepted for you? My guess is that childMethod() would and parentMethod() doesn't. And you would like parentMethod() as well?
Kabir
________________________________
From: Bill Decoste [mailto:bill.decoste at jboss.com]
Sent: 11 January 2007 16:33
To: Kabir Khan
Subject: RE: annotations on parent class
Sorry, I wasn't clear. Here is the scenario. When we deploy the Child class, the @Clustered annotation is not being recognized so when calls to the SFSB Child are made, the StatefulTestInterceptor is not invoked.
If I
annotate Parent with @Clustered, it works properly. Just want to make sure this isn't a known issue in AOP.
Thanks - Bill
class Parent
{
..
}
@Stateful
@Clustered
class Child extends Parent
{
.
}
________________________________
From: Kabir Khan
Sent: Wednesday, January 10, 2007 4:53 PM
To: Bill Decoste
Subject: RE: annotations on parent class
The "class-part" of the method expression does an exact match on if the class declaring the method has been annotated. Changing it to the following should yield the correct results:
<bind pointcut="execution(public *
$instanceof{@jboss.annotation.ejb.Clustered
<mailto:$instanceof%7b at jboss.annotation.ejb.Clustered> }->*(..))">
<interceptor-ref
name="org.jboss.ejb3.stateful.StatefulTestInterceptor"/>
</bind>
________________________________
From: Bill Decoste
[mailto:bill.decoste at jboss.com]
Sent: 10 January 2007 23:33
To: Kabir Khan
Subject: annotations on parent class
Hi Kabir,
Got an aop question for you . we've got an unannotated parent class and a sublass with a @Clustered annotation. Here's a snippet from aop.xml:
<bind pointcut="execution(public *
@jboss.annotation.ejb.Clustered->*(..))">
<interceptor-ref
name="org.jboss.ejb3.stateful.StatefulTestInterceptor"/>
</bind>
When the subclass is invoked, the
StatefulTestInterceptor is
not in the stack - all of the other interceptors work properly. The aop package is not finding the @Clustered in the subclass, so it's not adding the interceptor.
Is this a known issue?
Thanks
Bill DeCoste
JBoss, a division of Red Hat
bill.decoste at jboss.com
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list