diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java b/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java index abd518e4..dd88a3ef 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java @@ -29,6 +29,7 @@ import hudson.FilePath; import hudson.Launcher; import hudson.Util; +import hudson.init.Terminator; import hudson.model.TaskListener; import hudson.remoting.Channel; import hudson.remoting.DaemonThreadFactory; @@ -421,6 +422,12 @@ private synchronized static ScheduledExecutorService watchService() { } return watchService; } + @Terminator public static synchronized void shutDownWatchService() { + if (watchService != null) { + watchService.shutdownNow(); + watchService = null; + } + } private static class StartWatching extends MasterToSlaveFileCallable {