Github user johnament commented on a diff in the pull request:

    https://github.com/apache/cxf/pull/181#discussion_r84334519
  
    --- Diff: 
integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java 
---
    @@ -74,16 +74,16 @@
                 featureBeans.add((Bean< ? extends Feature >)event.getBean());
             } else if (CdiBusBean.CXF.equals(event.getBean().getName())
                     && 
Bus.class.isAssignableFrom(event.getBean().getBeanClass())) {
    -            busBean = event.getBean();
    +            hasBus = true;
             }
         }
     
         public void load(@Observes final AfterDeploymentValidation event, 
final BeanManager beanManager) {
    +        // no need of creational context, it only works for app scoped 
instances anyway
    +        final Bean<?> busBean = 
beanManager.resolve(beanManager.getBeans(CdiBusBean.CXF));
             bus = (Bus)beanManager.getReference(
    --- End diff --
    
    @reta @rmannibucau the problem is not replicated with the other areas.  In 
each of the other cases we use the bean to get a reference correctly.  The main 
issue is that you're using an iterator to find the bean instead of using CDI's 
BeanManager to resolve it.
    
    Take for instance: 
https://github.com/apache/cxf/blob/3.1.x-fixes/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java#L89
    
https://github.com/apache/cxf/blob/3.1.x-fixes/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java#L250



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to