如何在Spring-Boot中注册启用了“async-supported”的servlet?

时间:2015-07-30 10:02:56

标签: java spring-boot servlet-3.0

我计划将旧应用程序迁移到Spring-Boot 我想停止使用web.xml描述符并注册旧的纯Servlet(启用“async-supported”)和相关的ServletContextListener。

3 个答案:

答案 0 :(得分:2)

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

如果出于某种原因,你想要更多地控制你的servlet的注册,那么,不是将Servlet本身暴露为bean,你可以将它包装在ServletRegistrationBean中。

答案 1 :(得分:1)

在您的应用程序类上放置一个@EnableAsync。 有关详细信息,请参阅here

答案 2 :(得分:0)

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

enter image description here

如果您遇到以下问题,请遵循link

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