Sure, removed/reverted. So here are the general thoughts. Yes, most (if not 
all) of the providers/features/... are not CDI
specific and as such, they are not bean archives (and it make sense). Now, how 
could we make the CXF more CDIish? There
are a couple of option we could explore, but what would be the idiomatic CDI 
way?  

Best Regards,
    Andriy Redko

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

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

JDA> 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.

JDA> John

JDA> 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