On 22/09/17 15:16, Konstantin Kolinko wrote: > 2017-09-22 0:16 GMT+03:00 Mark Thomas <ma...@apache.org>: >> Hi all, >> >> As of a few minutes ago the Servlet 4.0 API implementation in 9.0.x is >> aligned with the 4.0 final release. It is also fully implemented. That >> opens up the possibility of both beta and stable labels for the next >> 9.0.x release. It also means that the next release will be a point >> release, not a milestone release. >> >> I'll update the version number info accordingly shortly. > > Reviewing appendix A.1 "Changes Since Servlet 3.1" of Servlet 4.0 > spec, I noted two points: > > "8. Clarify metadata-complete in Section 8.1, “Annotations and pluggability”." > > Section 8.1. clarifies that the following annotations must be > processed even when metadata-complete="false": > > "Annotations that do not have equivalents in the deployment XSD include > javax.servlet.annotation.HandlesTypes and all of the CDI-related > annotations. These annotations must be processed during annotation scanning, > regardless of the value of “metadata-complete”."
I think we are compliant here. We do look for HandlesTypes matches when metadata-complete="true" and we don't provide a CDI implementation. > > The code in DefaultInstanceManager > [[[ > private Object newInstance(Object instance, Class<?> clazz) > throws IllegalAccessException, InvocationTargetException, > NamingException { > if (!ignoreAnnotations) { > Map<String, String> injections = > assembleInjectionsFromClassHierarchy(clazz); > populateAnnotationsCache(clazz, injections); > processAnnotations(instance, injections); > postConstruct(instance, clazz); > } > return instance; > } > ]]] > > "ignoreAnnotations" flag turns all annotation processing off. I think that is consistent with 8.1 that lists all the annotations that can be ignored with metadata-complete="true". > "13. Remove DTDs and Schemas from binary artifact for Servlet API." > > I do not mind us continuing shipping those resources, > but maybe there was some reason for their removal? Let me check back in the EG archives... <quote> we intentionally stopped including the DTDs and XSDs in the javax.servlet:javax.servlet-api JAR, because they are better maintained outside of that jar. In the case of GlassFish, they end up in the dtds and schemas directories, respectively. </quote> Looks like a Glassfish packaging decision. I'm not seeing a need to package these elsewhere in Tomcat. Mark --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org