diff --git a/core/src/main/java/hudson/slaves/OfflineCause.java b/core/src/main/java/hudson/slaves/OfflineCause.java index 41319f01e92a..b13361a20683 100644 --- a/core/src/main/java/hudson/slaves/OfflineCause.java +++ b/core/src/main/java/hudson/slaves/OfflineCause.java @@ -155,4 +155,14 @@ public ByCLI(String message) { this.message = message; } } + + /** + * Caused by idle period. + * @since TODO + */ + public static class IdleOfflineCause extends SimpleOfflineCause { + public IdleOfflineCause () { + super(hudson.slaves.Messages._RetentionStrategy_Demand_OfflineIdle()); + } + } } diff --git a/core/src/main/java/hudson/slaves/RetentionStrategy.java b/core/src/main/java/hudson/slaves/RetentionStrategy.java index 7b9f94557778..6fb8f7c8eb83 100644 --- a/core/src/main/java/hudson/slaves/RetentionStrategy.java +++ b/core/src/main/java/hudson/slaves/RetentionStrategy.java @@ -267,7 +267,7 @@ public long check(final SlaveComputer c) { // we've been idle for long enough logger.log(Level.INFO, "Disconnecting computer {0} as it has been idle for {1}", new Object[]{c.getName(), Util.getTimeSpanString(idleMilliseconds)}); - c.disconnect(OfflineCause.create(Messages._RetentionStrategy_Demand_OfflineIdle())); + c.disconnect(new OfflineCause.IdleOfflineCause()); } else { // no point revisiting until we can be confident we will be idle return TimeUnit.MILLISECONDS.toMinutes(TimeUnit.MINUTES.toMillis(idleDelay) - idleMilliseconds);