Taha Ghasemi created OWB-811:
--------------------------------
Summary: (public or protected) Observer methods don't get
intercepted in the first firing of the event
Key: OWB-811
URL: https://issues.apache.org/jira/browse/OWB-811
Project: OpenWebBeans
Issue Type: Bug
Components: Events
Affects Versions: 1.1.7
Environment: JRE 1.7
Reporter: Taha Ghasemi
If an observer method has an interceptor, the interceptor isn't called by OWB
in the first firing of the event. While this is expected for private observer
methods (as they can't be proxied), for public or protected methods this is a
bug.
Apparently, the root problem is in ObserverMethodImpl:notify which decides a
method is private or not based on this code:
boolean isPrivateMethod = !observerMethod.isAccessible() ;
And then make the method accessible if it is not. By default, all reflected
objects are inaccessible so even public methods in the first time treated as
private and thus the obtained object is not a proxy.
In addition, with the above code, the private methods are detected properly in
the first time, but in the next times they treated as non-private methods which
is wrong.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira