From d2b109c87e59e117cb17456d452b5580aecebae3 Mon Sep 17 00:00:00 2001 From: Andrea Patricelli Date: Tue, 1 Sep 2026 12:44:50 +0200 Subject: [PATCH 1/2] [SYNCOPE-1993] provide support for enable auto registration parameter also in core module --- .../syncope/core/starter/SyncopeCoreApplication.java | 11 +++++++---- .../apache/syncope/core/starter/SyncopeCoreStart.java | 9 +++++++-- .../apache/syncope/core/starter/SyncopeCoreStop.java | 10 ++++++++-- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java index 8f358ed8329..beaa0869726 100644 --- a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java +++ b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java @@ -22,6 +22,7 @@ import org.apache.cxf.spring.boot.autoconfigure.openapi.OpenApiAutoConfiguration; import org.apache.syncope.common.keymaster.client.api.ConfParamOps; import org.apache.syncope.common.keymaster.client.api.DomainOps; +import org.apache.syncope.common.keymaster.client.api.KeymasterProperties; import org.apache.syncope.common.keymaster.client.api.startstop.KeymasterStop; import org.apache.syncope.common.lib.info.SystemInfo; import org.apache.syncope.core.persistence.api.DomainHolder; @@ -122,14 +123,16 @@ public TaskExecutorUnloader taskExecutorUnloader(final ListableBeanFactory beanF @ConditionalOnMissingBean @Bean - public SyncopeCoreStart keymasterStart(final DomainHolder domainHolder) { - return new SyncopeCoreStart(domainHolder); + public SyncopeCoreStart keymasterStart( + final DomainHolder domainHolder, + final KeymasterProperties keymasterProps) { + return new SyncopeCoreStart(domainHolder, keymasterProps.isEnableAutoRegistration()); } @ConditionalOnMissingBean @Bean - public KeymasterStop keymasterStop(final DomainHolder domainHolder) { - return new SyncopeCoreStop(domainHolder); + public KeymasterStop keymasterStop(final DomainHolder domainHolder, final KeymasterProperties keymasterProps) { + return new SyncopeCoreStop(domainHolder, keymasterProps); } @ConditionalOnMissingBean diff --git a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStart.java b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStart.java index b3e6e440e11..501e6c7b1cb 100644 --- a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStart.java +++ b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStart.java @@ -39,9 +39,12 @@ public class SyncopeCoreStart extends KeymasterStart implements Ordered { private final DomainHolder domainHolder; - public SyncopeCoreStart(final DomainHolder domainHolder) { + private final boolean enableAutoRegistration; + + public SyncopeCoreStart(final DomainHolder domainHolder, final boolean enableAutoRegistration) { super(NetworkService.Type.CORE); this.domainHolder = domainHolder; + this.enableAutoRegistration = enableAutoRegistration; } @Override @@ -71,7 +74,9 @@ public void onApplicationEvent(final ContextRefreshedEvent event) { LOG.debug("[{}] Init completed", loaderName); }); - super.onApplicationEvent(event); + if (enableAutoRegistration) { + super.onApplicationEvent(event); + } event.getApplicationContext().getBean(JobStatusUpdater.class).initComplete(); } diff --git a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java index 2a10985ac72..b84114bd1d7 100644 --- a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java +++ b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java @@ -19,6 +19,7 @@ package org.apache.syncope.core.starter; import java.util.Comparator; +import org.apache.syncope.common.keymaster.client.api.KeymasterProperties; import org.apache.syncope.common.keymaster.client.api.model.NetworkService; import org.apache.syncope.common.keymaster.client.api.startstop.KeymasterStop; import org.apache.syncope.core.persistence.api.DomainHolder; @@ -37,10 +38,13 @@ public class SyncopeCoreStop extends KeymasterStop implements Ordered { private static final Logger LOG = LoggerFactory.getLogger(SyncopeCoreStop.class); private final DomainHolder domainHolder; + + private final boolean enableAutoRegistration; - public SyncopeCoreStop(final DomainHolder domainHolder) { + public SyncopeCoreStop(final DomainHolder domainHolder, final KeymasterProperties keymasterProps) { super(NetworkService.Type.CORE); this.domainHolder = domainHolder; + this.enableAutoRegistration = keymasterProps.isEnableAutoRegistration(); } @Override @@ -68,6 +72,8 @@ public void onApplicationEvent(final ContextClosedEvent event) { LOG.debug("[{}] Dispose completed", loaderName); }); - super.onApplicationEvent(event); + if (enableAutoRegistration) { + super.onApplicationEvent(event); + } } } From 462e0abc79503cbc07ed739a200b06bb74b0af3a Mon Sep 17 00:00:00 2001 From: Andrea Patricelli Date: Tue, 1 Sep 2026 12:57:54 +0200 Subject: [PATCH 2/2] aligned implementation --- .../apache/syncope/core/starter/SyncopeCoreApplication.java | 2 +- .../org/apache/syncope/core/starter/SyncopeCoreStop.java | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java index beaa0869726..d38f7a5ef59 100644 --- a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java +++ b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreApplication.java @@ -132,7 +132,7 @@ public SyncopeCoreStart keymasterStart( @ConditionalOnMissingBean @Bean public KeymasterStop keymasterStop(final DomainHolder domainHolder, final KeymasterProperties keymasterProps) { - return new SyncopeCoreStop(domainHolder, keymasterProps); + return new SyncopeCoreStop(domainHolder, keymasterProps.isEnableAutoRegistration()); } @ConditionalOnMissingBean diff --git a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java index b84114bd1d7..137fc9f935a 100644 --- a/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java +++ b/core/starter/src/main/java/org/apache/syncope/core/starter/SyncopeCoreStop.java @@ -19,7 +19,6 @@ package org.apache.syncope.core.starter; import java.util.Comparator; -import org.apache.syncope.common.keymaster.client.api.KeymasterProperties; import org.apache.syncope.common.keymaster.client.api.model.NetworkService; import org.apache.syncope.common.keymaster.client.api.startstop.KeymasterStop; import org.apache.syncope.core.persistence.api.DomainHolder; @@ -41,10 +40,10 @@ public class SyncopeCoreStop extends KeymasterStop implements Ordered { private final boolean enableAutoRegistration; - public SyncopeCoreStop(final DomainHolder domainHolder, final KeymasterProperties keymasterProps) { + public SyncopeCoreStop(final DomainHolder domainHolder, final boolean enableAutoRegistration) { super(NetworkService.Type.CORE); this.domainHolder = domainHolder; - this.enableAutoRegistration = keymasterProps.isEnableAutoRegistration(); + this.enableAutoRegistration = enableAutoRegistration; } @Override