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

Antonin Stefanutti commented on OWB-1097:
-----------------------------------------

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)

Reply via email to