I did some work to improve the logging for JAX-RS Applications (TOMEE-3844).

There's a decent chunk of code to create an ApplicationData instance that has 
information about what Resources and Providers we actually deploy and where 
they came from (i.e. if they were explicitly configured or discovered via the 
classpath).  At some point we'll want to use that ApplicationData instance in 
the actual deployment code, but that's just a side note.

There are a couple red flags I think really need more investigation if someone 
wants to dig in.

 - We always add @Provider classes found in the classpath.  JAX-RS 2.1 section 
2.3.2 seems to imply that we should only discover annotated providers and 
resources from the classpath if getClasses() and getSingletons() both return 
nothing.  There clearly are not tests for this in the Jakarta EE 9.1 TCK as we 
passed it.  This needs some research and potentially a conversation in the 
Jakarta Rest mailing list.

 - We do not use the singleton instances provided by 
Application.getSingltons().  Instead we always create our own instances and 
hand those to CXF.  If as a user you constructed the singleton with some state 
and expect to have that state at runtime, you will not get what you want.  Some 
research on what other implementations do and what the spec has to say would be 
good.


-- 
David Blevins
http://twitter.com/dblevins
http://www.tomitribe.com

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to