[
https://issues.apache.org/jira/browse/OWB-897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14007106#comment-14007106
]
Mark Struberg commented on OWB-897:
-----------------------------------
It worked only because ProcessInjectionTarget did not work properly.
We might think about this again, but it will be pretty hard to solve. The
problem is that the spec defines that any interceptor must be applied in the
InjectionTarget extends Producer part.
> 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
> Assignee: Romain Manni-Bucau
> Fix For: 2.0.0
>
>
> 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 was sent by Atlassian JIRA
(v6.2#6252)