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

问题描述 投票:1回答:3

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

java spring-boot servlet-3.0
3个回答
2
投票

Spring Boot将在您的应用程序上下文中自动向servlet容器注册任何Servlet bean。默认情况下,支持的异步设置为true,因此除了为Servlet创建Bean之外,您无需执行其他任何操作。

如果出于某种原因想要对Servlet的注册进行更多控制,则可以将其包装在ServletRegistrationBean中,而不是将Servlet本身公开为bean。

在应用程序类上放置@EnableAsync。有关更多详细信息,请参见here

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

enter image description here

如果您面临以下问题,请遵循link

java.lang.IllegalArgumentException:必须在servlet和异步请求处理中涉及的所有过滤器。这个使用Servlet API或添加对servlet和过滤器“真实”web.xml中的声明。另外,您必须使用Servlet 3.0+容器


1
投票

在应用程序类上放置@EnableAsync。有关更多详细信息,请参见here


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.