Java 请求处理后spring启动应用程序的清理方法

Java 请求处理后spring启动应用程序的清理方法,java,rest,spring-boot,httprequest,thread-local,Java,Rest,Spring Boot,Httprequest,Thread Local,如何在spring引导应用程序中为清理数据(如线程局部变量)实现请求完成过程后的清理方法 我尝试使用ServletRequestListener.requestdestromedapi,但在请求完成后它不会被命中一个可能的答案是您忽略了注册侦听器。Servlet说: 为了接收这些通知事件,必须在web应用程序的部署描述符中声明实现类,用WebListener注释,或者通过ServletContext上定义的addListener方法之一注册实现类 使用Spring可能还有其他方法来实现此功能;e

如何在spring引导应用程序中为清理数据(如线程局部变量)实现请求完成过程后的清理方法


我尝试使用
ServletRequestListener.requestdestromed
api,但在请求完成后它不会被命中

一个可能的答案是您忽略了注册侦听器。Servlet说:

为了接收这些通知事件,必须在web应用程序的部署描述符中声明实现类,用
WebListener
注释,或者通过
ServletContext
上定义的
addListener
方法之一注册实现类

使用Spring可能还有其他方法来实现此功能;e、 g.使用处理程序拦截器;看


如果您使用的是普通servlet(没有SpringMVC基础设施),另一种方法是在servlet的
service
方法或
doXxx
方法中进行清理。或者在servlet前面的
过滤器中

您是正确的。我不得不把它注册为一个bean。。ServletRequestListener或HandlerInterceptorAdapter的最佳方法是什么?我认为ServletRequestListener很简单。我还发现HandlerInterceptorAdapter中的所有api都是在controller know中的请求完成后执行的,对此我没有意见。