如何强制tomcat重新加载以重置静态AtomicBoolean

时间:2018-01-10 07:07:09

标签: java spring tomcat

在我的网络应用程序中,我有一个Spring @Configuration类,其中带有@Bean带注释的方法,可为我的应用程序所依赖的服务创建客户端。客户端是通过构建器创建的,该构建器通过内部使用private static AtomicBoolean isClientCreated变量强制仅存在一个客户端实例。

当我的一个Web应用程序类更改强制tomcat重新加载(通过PreResources中的web.xml配置)时,客户端创建失败,因为即使在bean被销毁之后,私有静态AtomicBoolean {{1} }仍然是isClientCreated

如何在tomcat reload上重置此静态值?

1 个答案:

答案 0 :(得分:0)

您可以使用@PostConstruct@PreDestroy来注释您的配置(或任何合适的单例bean)。然后在任何方法中重置标志。

请参阅the example