我有一個服務器端應用程序,客戶端可以請求重新加載配置。如果客戶端請求重新加載配置,則不應立即執行此操作,但會延遲1分鐘。如果另一個客戶端也請求在同一分鐘內重新加載配置,則該請求應該被忽略。ScheduledExecutorService - 檢查計劃任務是否已完成
我的想法是安排任務與像一個ScheduledExecutorService的:
ScheduledExecutorService service = Executors.newSingleThreadScheduledExecutor();
service.schedule(new LoadConfigurationTask(), 1, TimeUnit.MINUTES);
public class LoadConfigurationTask Runnable {
public void run() {
// LoadConfiguration
}
}
如何檢查是否LoadConfigurationTask已定,但尚未執行,才能夠忽略進一步請求,直到配置重新加載?
如果重新加載配置任務正在運行 - 如果另一個請求也被忽略,該怎麼辦?如果任務在1毫秒前完成,該怎麼辦? –
沒有,如果它正在運行,應該安排新的任務 – markus