Harald Wellmann created OWB-897:
-----------------------------------

             Summary: Interceptors do not work on processed injection targets
                 Key: OWB-897
                 URL: https://issues.apache.org/jira/browse/OWB-897
             Project: OpenWebBeans
          Issue Type: Bug
          Components: Interceptor and Decorators
    Affects Versions: 1.2.0
            Reporter: Harald Wellmann


I have a portable extension which processes injection targets and replaces them 
with a custom implementation of javax.enterprise.inject.spi.InjectionTarget.

This breaks interceptors on beans injected into beans which are processed 
injection targets. The injected contextual references are missing the expected 
proxy.

The following code snippets look suspicious:

org.apache.webbeans.component.InjectionTargetBean.defineBeanInterceptorStack():

        if (this instanceof InterceptedMarker && getInjectionTarget() 
instanceof InjectionTargetImpl) { ... }
        .
This means that interceptors only get processed if the injection target is an 
instance of InjectionTargetImpl, which does not cover the case of a custom 
injection target provided by a portable extension.

org.apache.webbeans.container.InjectionTargetFactoryImpl.createInjectionTarget(Bean<T>):

This method directly returns the injection target processed by the extension. 
This target should probably be wrapped by OWB's own implementation to make 
interceptors work.




--
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

Reply via email to