You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by "Antonin Stefanutti (JIRA)" <ji...@apache.org> on 2015/11/06 14:52:27 UTC

[jira] [Comment Edited] (OWB-1097) ProcessInjectionTarget event is fired when BeanManager.createInjectionTarget or InjectionTargetFactory.createInjectionTarget is called

    [ https://issues.apache.org/jira/browse/OWB-1097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14993687#comment-14993687 ] 

Antonin Stefanutti edited comment on OWB-1097 at 11/6/15 1:52 PM:
------------------------------------------------------------------

My understanding is based on the elements that you've quoted plus the fact that the specification generally explicitly states when a lifecycle event is to be fired after a programmatic call to the SPI, for example with {{AfterBeanDiscovery.addBean}} or {{AfterBeanDiscovery.addObserverMethod}}.

My use case is to add a bean dynamically with a customised {{InjectionTarget}} but I've been able to meet my requirement by using the {{Bean}} SPI.

Whether that event should be fired or not, I find it abnormal to have it fired within the call of another lifecycle event.



was (Author: antonin.stefanutti):
My understanding is based on the elements that you've quoted plus the fact that the specification generally explicitly state when a lifecycle event is to be fired after a programmatic call to the SPI, for example with {{AfterBeanDiscovery.addBean}} or {{AfterBeanDiscovery.addObserverMethod}}.

My use case is to add a bean dynamically with a customised {{InjectionTarget}} but I've been able to meet my requirement by using the {{Bean}} SPI.

Whether that event should be fired or not, I find it abnormal to have it fired within the call of another lifecycle event.


> ProcessInjectionTarget event is fired when BeanManager.createInjectionTarget or InjectionTargetFactory.createInjectionTarget is called
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: OWB-1097
>                 URL: https://issues.apache.org/jira/browse/OWB-1097
>             Project: OpenWebBeans
>          Issue Type: Bug
>          Components: Lifecycle
>    Affects Versions: 1.6.2
>            Reporter: Antonin Stefanutti
>            Assignee: Mark Struberg
>
> In the following example:
> {code}
> class CdiCamelExtension implements Extension {
>     <T extends CamelContext> void camelContextBeans(@Observes ProcessInjectionTarget<T> pit) {
>     }
>     void addDefaultCamelContext(@Observes AfterBeanDiscovery abd, BeanManager manager) {  
>         manager.createInjectionTarget(manager.createAnnotatedType(DefaultCamelContext.class));
>  
>         manager.getInjectionTargetFactory(
>             manager.createAnnotatedType(DefaultCamelContext.class))
>                 .createInjectionTarget((Bean<DefaultCamelContext>) manager.resolve(manager.getBeans(DefaultCamelContext.class)));
>     }
> }
> {code}
> Both calls to {{BeanManager.createInjectionTarget}} or {{InjectionTargetFactory.createInjectionTarget}} triggers the firing of the {{ProcessInjectionTarget}} event.
> From my understanding of the specification, that should not be the case. What is surprising as well is that the {{ProcessInjectionTarget}} observer method is called within the execution of the {{AfterBeanDiscovery}} observer method.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)