Tomcat:重新部署war没有清理静态变量?

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

Tomcat:在不重启服务器的情况下重新部署war没有清理静态变量。

   class Foo {

      static Map<String, Object> cache = new HashMap<>();
   }

重新部署修改后的war后,缓存不会被清理并保留旧值。

重新部署如何进行?

tomcat tomcat9 redeploy
1个回答
0
投票

有些情况 Tomcat 无法为您解决,但您必须照顾好自己:

当不再有对类和对象的引用时,它们可能会被垃圾收集 - 这些引用的可能性之一可能是您自己启动的线程,并且在 Web 应用程序关闭时不会终止。它们是 GC 可达性检查的根源,也是此类问题的常见根源。

可能有更多条件,但我想说自定义线程是最常见的。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.