diff --git a/application/src/main/java/run/halo/app/infra/ExtensionResourceInitializer.java b/application/src/main/java/run/halo/app/infra/ExtensionResourceInitializer.java index 716ef8157..74fb91c7c 100644 --- a/application/src/main/java/run/halo/app/infra/ExtensionResourceInitializer.java +++ b/application/src/main/java/run/halo/app/infra/ExtensionResourceInitializer.java @@ -15,6 +15,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; +import run.halo.app.extension.ExtensionUtil; import run.halo.app.extension.ReactiveExtensionClient; import run.halo.app.extension.Unstructured; import run.halo.app.infra.properties.HaloProperties; @@ -96,7 +97,13 @@ public class ExtensionResourceInitializer implements ApplicationListener extensionClient.create(extension))); + .switchIfEmpty(Mono.defer(() -> { + if (ExtensionUtil.isDeleted(extension)) { + // skip deleted extension + return Mono.empty(); + } + return extensionClient.create(extension); + })); } private List listResources(String location) {