Personally, I would actually recommend removing the beans.xml from open tracing 
(and really any module that isn't a cdi specific module).  While it does allow 
for a bit more automatic binding, my question was more around what is missing.  
I missed the fact that there is no build in automatic discovery of providers in 
CDI if they're not CDI managed - which is OK and the answer I was working 
through.  

And realistically, this issue is not specific to the open tracing integration, 
I can replicate it with other providers.  Its just a matter of documenting and 
knowing what to setup.

So if you don't mind, I'd like to revert that commit; and add some docs around 
how to create an automatically registered provider.

John

On 2017-12-22 15:24, Romain Manni-Bucau <[email protected]> wrote: 
> How can i disable it now? Tink that cxf feature - even if in separate
> modules - shouldnt be auto registered until it has a deactivable flag -
> classpath properties + overridable through system prop.
> 
> Wdyt?
> 
> Le 22 déc. 2017 18:38, "Andriy Redko" <[email protected]> a écrit :
> 
> > Hi Sergey,
> >
> > It wasn't (for CDI only), but it could have been always included manually.
> > Thanks.
> >
> > Best Regards,
> >     Andriy Redko
> >
> > SB> Hi Andriy
> >
> > SB> So how was a JAX-RS (OpenTracing) Feature discovered without beans.xml
> > ?
> >
> > SB> Cheers, Sergey
> > SB> On 22/12/17 17:24, Andriy Redko wrote:
> > >> The beans.xml was missed indeed, I added it and OpenTracingFeature has
> > been discovered right away.
> > >> The commit is on its way. Thanks!
> >
> > >> Best Regards,
> > >>      Andriy Redko
> >
> > >> JDA> I'm holding off on doing anything to fix it.  For one, a user may
> > not want to use the global tracer so making it
> > >> JDA> so that they register it makes more sense.  Ultimately to solve
> > it, I think we should be moving server
> > >> JDA> customizations outside of CDI to ensure that it can be auto
> > registered.
> >
> >
> > >> JDA> John
> >
> >
> > >> JDA> On Fri, Dec 22, 2017 at 11:12 AM Andriy Redko <[email protected]>
> > wrote:
> >
> > >> JDA> Hey John,
> >
> > >> JDA>  The OpenTracingFeature (org.apache.cxf.tracing.opentracing.jaxrs
> > package) is JAX-RS feature,
> > >> JDA>  which JAXRS CDI extension should recognize out of the box. There
> > is also CXF feature (
> > >> JDA>  in org.apache.cxf.tracing.opentracing package) to be used for
> > JAX-WS services. The only explanation
> > >> JDA>  I have why it is not being picked up it the absense of bean.xml
> > so we could fix that. I will
> > >> JDA>  take a look shorly (if you haven't figured this one out already).
> > Thanks.
> >
> > >> JDA>  Best Regards,
> > >> JDA>      Andriy Redko
> >
> >
> > >>   JDA>> I'm not sure either, this is the behavior I see in the code:
> >
> > >>   JDA>> - Register JAX-RS resources (with @ApplicationPath)
> > >>   JDA>> - Register JAX-RS resources (with @Path)
> > >>   JDA>> - Register JAX-RS providers (with JAX-RS @Provider)
> > >>   JDA>> - Register JAX-RS features (with JAX-RS @Feature)
> > >>   JDA>> - Register CXF features (doesn't care if it has a CXF @Provider
> > annotation but I see the OpenTracing one does have it)
> > >>   JDA>> - Otherwise we assume its the CXF Bus object
> >
> > >>   JDA>> There's not much happening with a CXF @Provider declaration in
> > the extension.  But at the end of the day, I'm only
> > >>   JDA>> dealing with a JAX-RS @Provider and that doesn't get registered
> > since it's not a CDI bean.  I don't see any issue
> > >>   JDA>> registering CXF @Provider this way as well, but its possible
> > it's not a CDI bean still, but that's ultimately what the customizer was
> > put in for.
> >
> > >>   JDA>> John
> >
> > >>   JDA>> On 2017-12-22 09:56, Sergey Beryozkin <[email protected]>
> > wrote:
> > >>   >>> Sure, I just don't understand what is the difference between a
> > JAX-RS
> > >>   >>> feature and CXF feature, as far as the CXF CDI code is concerned.
> > If it
> > >>   >>> can load the JAX-RS features which have not been written with CDI
> > in
> > >>   >>> mind, why can't it load CXF features without some extra work
> > going into
> > >>   >>> these features...
> >
> > >>   >>> Thanks, Sergey
> > >>   >>> On 22/12/17 14:50, John D. Ament wrote:
> > >>   >>> > That's not really the issue though.  The extension will only
> > receive CDI managed beans.  Take a look at my pull to see what I had to do
> > to get it to register automatically.  If nothing else, this is an argument
> > for moving JAXRSServer Customization into core and using service loader
> > :-)  Perhaps after the new year.
> > >>   >>> >
> > >>   >>> > On 2017-12-22 09:23, Sergey Beryozkin <[email protected]>
> > wrote:
> > >>   >>> >> I was not referring the OpenTracing module offering a CDI
> > extension, but
> > >>   >>> >> to the work Andriy did in the CXF CDI integration where the
> > providers
> > >>   >>> >> and feature are picked up. Thought, when we were discussing
> > the SSE
> > >>   >>> >> feature I thought Andriy said it was looking at the CXF
> > @Provider as
> > >>   >>> >> well, may be I misunderstood.
> > >>   >>> >> Updating the CDI code to check CXF @Provider, if it is not
> > already
> > >>   >>> >> checked, makes sense IMHO
> > >>   >>> >>
> > >>   >>> >> Sergey
> > >>   >>> >> On 22/12/17 14:08, John D. Ament wrote:
> > >>   >>> >>> Actually one more thing.  The CDI extension only looks for
> > JAX-RS @Provider not CXF @Provider.
> > >>   >>> >>>
> > >>   >>> >>> On 2017-12-22 09:06, "John D. Ament"<[email protected]>
> > wrote:
> > >>   >>> >>>> I'm not sure what the CDI extension has to do with this.  It
> > has no bean defining annotations, and there is no beans.xml in the JAR that
> > it ships with so I'm not sure it would be picked up by the extension.
> > >>   >>> >>>>
> > >>   >>> >>>> There's nothing special done for TomcatwarTest to make more
> > JARs available, right?
> > >>   >>> >>>>
> > >>   >>> >>>> On 2017-12-22 08:15, Sergey Beryozkin <[email protected]>
> > wrote:
> > >>   >>> >>>>> It is annotated with CXF @Provider annotation - should be
> > picked up by
> > >>   >>> >>>>> the CXF CDI extension
> > >>   >>> >>>>>
> > >>   >>> >>>>> Sergey
> > >>   >>> >>>>> On 22/12/17 13:07, John D. Ament wrote:
> > >>   >>> >>>>>> I'm trying to finish up testing CDI injection of Context
> > objects.  The one
> > >>   >>> >>>>>> area I'm struggling with is the automatic registration of
> > this feature.  I
> > >>   >>> >>>>>> added a dependency on OpenTracing, just to confirm that
> > injection via CDI
> > >>   >>> >>>>>> works (and to be honest, this is one of my use cases,
> > working with
> > >>   >>> >>>>>> tracing).  However, it seems that this feature isn't
> > automatically
> > >>   >>> >>>>>> registered via CDI.  Is there something I have to do to
> > make it work?
> > >>   >>> >>>>>>
> > >>   >>> >>>>>> John
> > >>   >>> >>>>>>
> > >>   >>> >>>>>
> > >>   >>> >>>>
> > >>   >>> >>
> >
> >
> >
> >
> >
> >
> 

Reply via email to