diff --git a/data-model/src/main/java/org/alfresco/util/ConfigScheduler.java b/data-model/src/main/java/org/alfresco/util/ConfigScheduler.java index ff932c5681..78330ae0ed 100644 --- a/data-model/src/main/java/org/alfresco/util/ConfigScheduler.java +++ b/data-model/src/main/java/org/alfresco/util/ConfigScheduler.java @@ -60,12 +60,15 @@ public abstract class ConfigScheduler // Synchronized has little effect in normal operation, but on laptops that are suspended, there can be a number // of Threads calling execute concurrently without it, resulting in errors in the log. Theoretically possible in // production but not very likely. - public synchronized void execute(JobExecutionContext context) throws JobExecutionException + public void execute(JobExecutionContext context) throws JobExecutionException { JobDataMap dataMap = context.getJobDetail().getJobDataMap(); ConfigScheduler configScheduler = (ConfigScheduler)dataMap.get(CONFIG_SCHEDULER); - boolean successReadingConfig = configScheduler.readConfigAndReplace(true); - configScheduler.changeScheduleOnStateChange(successReadingConfig); + synchronized (configScheduler) + { + boolean successReadingConfig = configScheduler.readConfigAndReplace(true); + configScheduler.changeScheduleOnStateChange(successReadingConfig); + } } } diff --git a/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java b/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java index 14caaae676..8234ad14d6 100644 --- a/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java +++ b/repository/src/main/java/org/alfresco/transform/client/registry/CombinedConfig.java @@ -322,7 +322,7 @@ public class CombinedConfig { combinedTransformers.remove(indexToRemove); // this may also require the current index i to be changed so we don't skip one. - if (i <= indexToRemove) + if (i >= indexToRemove) { i--; }