代码之家  ›  专栏  ›  技术社区  ›  Harshana

请求处理后的Spring引导应用程序清理方法

  •  0
  • Harshana  · 技术社区  · 6 年前

    如何在Spring引导应用程序中为线程局部变量等干净数据实现请求完成后的清理方法

    我尝试 ServletRequestListener.requestDestroyed API,但在请求完成后不会受到攻击

    1 回复  |  直到 6 年前
        1
  •  1
  •   Stephen C    6 年前

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

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

    使用Spring可能还有其他方法来实现这一点;例如,使用处理程序拦截器;请参见 Remove ThreadLocal object within a Spring MVC website?

    如果您使用普通servlet(没有SpringMVC基础结构),另一种方法是在servlet中进行清理 service 方法或 doXxx 方法。或在 Filter 在servlet前面。