From a4dbd21e3013c47509ed53d9ab37ef6bcfa23211 Mon Sep 17 00:00:00 2001 From: Yuriy Movchan Date: Mon, 5 Feb 2024 23:41:13 +0300 Subject: [PATCH] fix(jans-auth): configuration changes not taking effect #7631 Signed-off-by: Yuriy Movchan --- .../jans/as/server/service/AppInitializer.java | 1 + .../service/config/ConfigurationFactory.java | 18 +++++++++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java b/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java index 03637c36fa4..ac2aa4866de 100644 --- a/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java +++ b/jans-auth-server/server/src/main/java/io/jans/as/server/service/AppInitializer.java @@ -247,6 +247,7 @@ public void applicationInitialized(@Observes @Initialized(ApplicationScoped.clas // Schedule timer tasks metricService.initTimer(); + configurationFactory.initTimer(); loggerService.initTimer(true); ldapStatusTimer.initTimer(); cleanerTimer.initTimer(); diff --git a/jans-lock/service/src/main/java/io/jans/lock/service/config/ConfigurationFactory.java b/jans-lock/service/src/main/java/io/jans/lock/service/config/ConfigurationFactory.java index 355c83c31a0..c12aac5977e 100644 --- a/jans-lock/service/src/main/java/io/jans/lock/service/config/ConfigurationFactory.java +++ b/jans-lock/service/src/main/java/io/jans/lock/service/config/ConfigurationFactory.java @@ -107,6 +107,7 @@ public class ConfigurationFactory extends ApplicationConfigurationFactory { private String cryptoConfigurationSalt; private AtomicBoolean isActive; + private AtomicBoolean isInitialized; private long baseConfigurationFileLastModifiedTime; @@ -117,6 +118,7 @@ public class ConfigurationFactory extends ApplicationConfigurationFactory { public void init() { log.info("Initializing ConfigurationFactory ..."); this.isActive = new AtomicBoolean(true); + this.isInitialized = new AtomicBoolean(false); try { log.info("---------PATH to file configuration: {}", APP_PROPERTIES_FILE); this.persistenceConfiguration = persistanceFactoryService.loadPersistenceConfiguration(APP_PROPERTIES_FILE); @@ -137,13 +139,15 @@ public void init() { } public void initTimer() { - log.debug("Initializing Configuration Timer"); - - final int delay = 30; - final int interval = DEFAULT_INTERVAL; - - timerEvent.fire(new TimerEvent(new TimerSchedule(delay, interval), new ConfigurationEvent(), - Scheduled.Literal.INSTANCE)); + if (this.isInitialized.compareAndSet(false, true)) { + log.debug("Initializing Configuration Timer"); + + final int delay = 30; + final int interval = DEFAULT_INTERVAL; + + timerEvent.fire(new TimerEvent(new TimerSchedule(delay, interval), new ConfigurationEvent(), + Scheduled.Literal.INSTANCE)); + } } @Asynchronous