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

Reply via email to