在我的网络应用程序中,我有一个Spring @Configuration
类,其中带有@Bean
带注释的方法,可为我的应用程序所依赖的服务创建客户端。客户端是通过构建器创建的,该构建器通过内部使用private static AtomicBoolean isClientCreated
变量强制仅存在一个客户端实例。
当我的一个Web应用程序类更改强制tomcat重新加载(通过PreResources
中的web.xml
配置)时,客户端创建失败,因为即使在bean被销毁之后,私有静态AtomicBoolean {{1} }仍然是isClientCreated
。
如何在tomcat reload上重置此静态值?
答案 0 :(得分:0)
您可以使用@PostConstruct
或@PreDestroy
来注释您的配置(或任何合适的单例bean)。然后在任何方法中重置标志。
请参阅the example