You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by David Blevins <da...@gmail.com> on 2022/02/21 03:21:23 UTC

Potential JAX-RS application deployment issues (how to help)

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