Let's see what this one looks like https://github.com/apache/tomee/pull/987

I reverted the revert in there lol
--
Jean-Louis Monteiro
http://twitter.com/jlouismonteiro
http://www.tomitribe.com


On Thu, Dec 15, 2022 at 2:01 PM Jean-Louis Monteiro <
jlmonte...@tomitribe.com> wrote:

> Hi David,
>
> Sorry for the bad revert and introducing a regression. I can't recall why
> I did it at that time.
>
> I'll pause the @AroundConstruct implementation. The PR exists and is
> mostly green but one test
> https://ci-builds.apache.org/job/Tomee/job/master-pull-request/72/
>
> -->
> org.apache.openejb.core.stateless.StatelessInvocationStatsTest.testBasic
> <https://ci-builds.apache.org/job/Tomee/job/master-pull-request/org.apache.tomee$openejb-core/72/testReport/org.apache.openejb.core.stateless/StatelessInvocationStatsTest/testBasic/>
> I spent a lot of time to try to figure out why it's now failing. But as
> I'm stuck, I'll pause it and create a new PR to fix the OpenTracing
> integration after reverting the revert.
>
> Jean-Louis
>
>
> --
> Jean-Louis Monteiro
> http://twitter.com/jlouismonteiro
> http://www.tomitribe.com
>
>
> On Thu, Dec 15, 2022 at 2:52 AM David Blevins <dblev...@tomitribe.com>
> wrote:
>
>> The good news is I can get all the remaining 11 failing JAX-RS tests to
>> pass.  The bad news is it breaks the Open Tracing integration.
>>
>> Getting the JAX-RS tests to pass involves reverting this revert.
>>
>>  -
>> https://github.com/apache/tomee/commit/33d60ae7140595996e274dc4c739d31fd5b8a727
>>
>> Essentially, the JAX-RS spec says it is illegal to dynamically discover
>> providers, endpoints, etc from the classpath if the user has explicitly
>> configured what classes they want via their Application subclass.
>>
>>     "If either getClasses or getSingletons returns a non-empty
>>     collection then only those classes or singletons returned MUST be
>>     included in the published JAX-RS application."
>>
>>    -
>> https://jakarta.ee/specifications/restful-ws/3.0/jakarta-restful-ws-spec-3.0.html#automatic_discovery
>>
>> When we don’t adhere to that we get failures because the TCK always
>> includes a handful of “common” providers in the war files of all the JAX-RS
>> deployments.  In most cases, however, it also supplies an Application
>> subclass that may pick just some or none of those common providers.  Some
>> of those common providers do things like blindly return an HTTP 406 status
>> for any exception thrown.
>>
>> So the short version is we need to rework our Open Tracing integration so
>> the provider we need is not seen as something a user has supplied in their
>> war file.
>>
>> I don’t know the Open Tracing code/integration, but here is where we add
>> other providers to applications:
>>
>>  -
>> https://github.com/apache/tomee/blob/main/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java#L578
>>
>> I’m going to focus on writing a good test case that will fail if we take
>> action on annotated providers when the application has already supplied
>> them and document the test with all of the above.
>>
>> Is there someone who can take a look at reworking the Open Tracing
>> integration?
>>
>>
>> -David
>>
>>
>>

Reply via email to