diff --git a/node/impl/src/main/java/eu/cloudnetservice/node/impl/service/defaults/AbstractService.java b/node/impl/src/main/java/eu/cloudnetservice/node/impl/service/defaults/AbstractService.java index 6f6743a90f..04fb0b6987 100644 --- a/node/impl/src/main/java/eu/cloudnetservice/node/impl/service/defaults/AbstractService.java +++ b/node/impl/src/main/java/eu/cloudnetservice/node/impl/service/defaults/AbstractService.java @@ -348,6 +348,10 @@ public void updateLifecycle(@NonNull ServiceLifeCycle lifeCycle) { } protected void updateLifecycle(@NonNull ServiceLifeCycle lifeCycle, boolean switchToDeletedOnStop) { + updateLifecycle(lifeCycle, switchToDeletedOnStop, switchToDeletedOnStop); + } + + protected void updateLifecycle(@NonNull ServiceLifeCycle lifeCycle, boolean switchToDeletedOnStop, boolean removeFiles) { try { // prevent multiple service updates at the same time this.lifecycleLock.lock(); @@ -389,7 +393,9 @@ protected void updateLifecycle(@NonNull ServiceLifeCycle lifeCycle, boolean swit LOGGER.info(this.i18n.translate("cloudnet-service-post-stop-message", this.serviceReplacement())); } else if (this.lifeCycle() == ServiceLifeCycle.RUNNING) { this.stopProcess(); - this.doRemoveFilesAfterStop(); + if (removeFiles) { + this.doRemoveFilesAfterStop(); + } // reset the service lifecycle to prepared this.pushServiceInfoSnapshotUpdate(ServiceLifeCycle.PREPARED); }