繁体   English   中英

如何在 Spring-Boot 中注册启用了“异步支持”的 servlet?

[英]How to register a servlet with enabled "async-supported" in Spring-Boot?

我打算将我的旧应用程序迁移到 Spring-Boot。
我想停止使用 web.xml 描述符并注册旧的纯 Servlet(启用“异步支持”)和关联的 ServletContextListener。

Spring Boot 会自动将应用程序上下文中的任何Servlet bean 注册到 servlet 容器。 默认情况下, async supported 设置为true因此除了为Servlet创建 bean 之外,您无事可做。

如果出于某种原因,您想对 servlet 的注册进行更多控制,那么,与其将 Servlet 本身作为 bean 公开,您还可以将其包装在ServletRegistrationBean

将 @EnableAsync 放在您的应用程序类上。 请参阅此处了解更多详情。

servletRegistrationBean.isAsyncSupported()默认为true ,它决定是否支持异步功能。

在此处输入图片说明 .

如果您遇到以下问题,请点击链接

java.lang.IllegalArgumentException:必须在 servlet 和异步请求处理中涉及的所有过滤器上启用异步支持。 这是使用 Servlet API 在 Java 代码中完成的,或者通过向 web.xml 中的 servlet 和过滤器声明添加“true”来完成。 您还必须使用 Servlet 3.0+ 容器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM