gpt4 book ai didi

java - 服务器环境上的 Guava AbstractScheduledService

转载 作者:太空宇宙 更新时间:2023-11-04 06:08:00 24 4
gpt4 key购买 nike

当应用程序服务器关闭时,关闭在服务器环境(例如 Tomcat)中运行的 AbstractScheduledService 的首选方法是什么?我是否必须为此显式注册一个服务器监听器,或者有没有办法将服务线程指定为守护进程?

最佳答案

管理服务(包括/特别是在服务器中)的标准方法是使用 ServiceManager 。将所有服务添加到 ServiceManager 中,然后在启动时添加 startAsync() 管理器,在关闭时添加 stopAsync() 管理器。为此,您需要一个服务器监听器。

可以通过覆盖 AbstractScheduledServiceexecutor() 方法并返回使用生成守护线程的 ThreadFactory 的执行程序来将服务线程指定为守护程序,但请注意,如果这样做,如果/当 AbstractScheduledService 本身停止时,执行程序将不会自动关闭(尽管您可以向执行此操作的服务就像默认的 executor() 实现一样)。

也就是说,我建议使用 ServiceManager 加上服务器监听器。这种方法应该确保您的服务有序关闭。

关于java - 服务器环境上的 Guava AbstractScheduledService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29075690/

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