11.2.3 is only effective IF the application author actively decides to support CDI.
Ah; I see; if your interpretation is right then "product" must, oddly, be the same thing as "application author". How extraordinarily strange! I always thought instead that, for example, Glassfish or Wildfly was a "product that supports CDI" and Jersey or RestEasy was a (JAX-RS) "implementation". Under this interpretation, in the context of "a product that supports CDI" (i.e. in Glassfish) a "[JAX-RS] implementation" (Jersey) must "support the use of CDI-style Beans as…Application subclasses". I suppose I must be mistaken! From the literal text of the JAX-RS specification in isolation, however, it certainly is hard to see how!
It does NOT that custom application MUST be CDI compliant at all. This section only lists forces that become effective once the application programmer WANTS CDI and the JAX-RS engine SUPPORTS CDI.
I see. If that truly is its meaning, I find this section of the specification to be poorly written indeed since it doesn't mention the application author at all, but speaks only of the hosting product (the app server of which the implementation is a component part, since that's what was in vogue at the time).
Thanks for your help!
Best,
Laird