禁用注释处理,但启用 servlet api 3.0 (Tomcat7) 中的 Web 片段功能

发布于 2024-10-12 21:41:46 字数 387 浏览 4 评论 0 原文

我正在尝试 Tomcat 7.0 和 Servlet API 3.0。

我有一个 Servlet API 2.5 的应用程序。因此,我编辑了 web.xml 以将其配置为 Servlet API 3.0。更改后,Tomcat 的启动时间增加了 14 秒。

所以我设置了 并且 Tomcat 的启动时间恢复正常,因为 tomcat 不会扫描每个类的注释。这很好,但是 web-fragment.xml 功能也因此被禁用。

我想知道是否可以禁用 Tomcat 的注释扫描,但启用 web-fragment.xml 的处理。

I am giving a try on Tomcat 7.0 and Servlet API 3.0.

I had an application for Servlet API 2.5. So I edited web.xml to configure it for Servlet API 3.0. After the change the start time of Tomcat increased by 14 seconds.

So I set <web-app metadata-complete="true" ... and the start time of Tomcat got back to normal, because tomcat does not scan every class for annotations. This is good, but web-fragment.xml feature is also disabled by this.

I wonder if it possible to disable annotation scanning of Tomcat, but to enable processing of web-fragment.xml.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

您的好友蓝忘机已上羡 2024-10-19 21:41:46

考虑在 web.xml 中使用“absolute-ordering”元素。
Servlet API 3.0 Final Spec 在第 8.2.2 节“web.xml 和 web-fragment.xml 的顺序”中描述了它的用法。

您可以指定要处理的确切 Web 片段,禁用 Web 片段的 jar 中类的注释处理(列表中 Web 片段中的“元数据完整”),当然还可以排除其他 jar通过这种网络片段包含进行处理。

Consider using 'absolute-ordering' element in your web.xml.
Servlet API 3.0 Final Spec describes it's usage in section 8.2.2 "Ordering of web.xml and web-fragment.xml".

You can specify the exact web-fragments to be processed, disable annotations processing of classes in web-fragment's jar ('metadata-complete' in the web-fragment from the list) and of course exclude other jars from processing by this kind of web-fragment inclusion.

冷弦 2024-10-19 21:41:46

片段和注释都是应用程序的元数据。 因此元数据完整适用于注释处理和片段处理。
如果为web.xml设置了metadata-complete,则注释处理和片段处理都会被禁用

但是,metadata-complete 也可以设置为 web-fragments.xml。因此,我们可以对注释和片段进行选择性处理。

在 web.xml 上启用元数据完整并在 web-fragments.xml 上禁用将处理片段,但会禁用 web-fragments.xml 下类的注释处理

Both fragments and annotations are metadata of the application. Thus metadata-complete applies for both annotation processing and processing of fragments.
If the metadata-complete is set for web.xml, both the annotation processing and fragments processing are disabled.

But, the metadata-complete can also be set to web-fragments.xml. So, one can do selective processing of annotations and fragments.

Enabling metadata-complete on web.xml and disabling on web-fragments.xml will process fragments but disables the annotation processing of classes under web-fragments.xml

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文