From 737740711b80de063b7abc4f65e1a1b45f64dd1c Mon Sep 17 00:00:00 2001 From: Eric Long Date: Wed, 6 Oct 2021 14:41:27 -0400 Subject: [PATCH] 0005098: Auto sync triggers at startup and force parameters --- .../jumpmind/symmetric/AbstractSymmetricEngine.java | 7 ++++--- .../jumpmind/symmetric/common/ParameterConstants.java | 1 + .../src/main/resources/symmetric-default.properties | 10 ++++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java index 8025ddec17..087206d8d0 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/AbstractSymmetricEngine.java @@ -608,9 +608,10 @@ public synchronized boolean start(boolean startJobs) { "Starting registered node [group={}, id={}, nodeId={}]", new Object[] { node.getNodeGroupId(), node.getNodeId(), node.getExternalId() }); - if (parameterService.is(ParameterConstants.AUTO_SYNC_TRIGGERS_AT_STARTUP, - true)) { - triggerRouterService.syncTriggers(); + boolean force = parameterService.is(ParameterConstants.AUTO_SYNC_TRIGGERS_AT_STARTUP_FORCE); + if (parameterService.is(ParameterConstants.AUTO_SYNC_TRIGGERS_AT_STARTUP, true) || force || + triggerRouterService.getActiveTriggerHistories().size() == 0) { + triggerRouterService.syncTriggers(force); } else { log.info(ParameterConstants.AUTO_SYNC_TRIGGERS_AT_STARTUP + " is turned off"); diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index 8ed1f0a4ea..50f06515c1 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -124,6 +124,7 @@ private ParameterConstants() { public final static String AUTO_CONFIGURE_DATABASE_FAST = "auto.config.database.fast"; public final static String AUTO_SYNC_TRIGGERS = "auto.sync.triggers"; public final static String AUTO_SYNC_TRIGGERS_AT_STARTUP = "auto.sync.triggers.at.startup"; + public final static String AUTO_SYNC_TRIGGERS_AT_STARTUP_FORCE = "auto.sync.triggers.at.startup.force"; public final static String AUTO_SYNC_CONFIG_AT_STARTUP = "auto.sync.config.at.startup"; public final static String AUTO_SYNC_CONFIG_AFTER_UPGRADE = "auto.sync.config.after.upgrade"; public final static String AUTO_SYNC_TRIGGERS_AFTER_CONFIG_CHANGED = "auto.sync.triggers.after.config.change"; diff --git a/symmetric-core/src/main/resources/symmetric-default.properties b/symmetric-core/src/main/resources/symmetric-default.properties index 2c70e5fc27..cfdef97f58 100644 --- a/symmetric-core/src/main/resources/symmetric-default.properties +++ b/symmetric-core/src/main/resources/symmetric-default.properties @@ -668,13 +668,19 @@ auto.sync.triggers.after.config.change=true # Type: boolean auto.sync.triggers.after.config.loaded=true - # If this is true, then run the sync triggers process at startup # # DatabaseOverridable: true # Tags: general # Type: boolean -auto.sync.triggers.at.startup=true +auto.sync.triggers.at.startup=false + +# If this is true, then force rebuild of all triggers at startup +# +# DatabaseOverridable: true +# Tags: general +# Type: boolean +auto.sync.triggers.at.startup.force=false # If this is true, then check if configuration should be pulled from registration server at startup. # If the config version in the database does not match the software version, it will pull config.