gpt4 book ai didi

java - 如何在独立应用程序中关闭 Ehcache CacheManager

转载 作者:行者123 更新时间:2023-11-30 03:52:21 24 4
gpt4 key购买 nike

我有一个简单的 API,我的客户可以在独立应用程序中使用它。我的 API 在幕后使用 Ehcache 来提高性能。

一切正常,除了我的客户端需要在 API 中调用 shutdown() 方法来调用 CacheManager.shutdown(),否则 Ehcache 会继续在即使主线程已完成,也会在后台运行。

有没有办法可以避免为我的客户进行额外的 shutdown() 调用?

我尝试使用 @PreDestroy Spring 注释来调用此调用,但它不起作用?

这里我添加了一个示例客户端程序。

public class ClientApp{
@Autowired
private IClientService service;

public static void main(String[] args){
try{
service.getClients();
...
} finally {
service.shutdown(); // to shutdown the cache background thread
}
}
}

在 ClientServiceImpl.java 中,我有以下几行

public void shutdown(){
LOGGER.info("Shutting the cache down...");
ehcacheManager.shutdown();
}

最佳答案

您的示例确认了独立应用程序设置。当主线程终止时,Ehcache 不应阻止 JVM 关闭。

如果是这样,您将需要为此问题添加线程转储,以便我们可以进一步分析该问题及其原因。

关于java - 如何在独立应用程序中关闭 Ehcache CacheManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24110070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com