You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Harald Wellmann (JIRA)" <ji...@apache.org> on 2013/09/08 09:52:52 UTC

[jira] [Created] (OWB-897) Interceptors do not work on processed injection targets

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