diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/NodeCommunicationService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/NodeCommunicationService.java index ad5b32b462..db8ae70d34 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/NodeCommunicationService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/NodeCommunicationService.java @@ -228,7 +228,7 @@ public boolean execute(final NodeCommunication nodeCommunication, RemoteNodeStat nodeCommunication.setLockingServerId(clusterService.getServerId()); final RemoteNodeStatus status = statuses.add(nodeCommunication.getNode()); ThreadPoolExecutor service = getExecutor(nodeCommunication.getCommunicationType()); - service.execute(new Runnable() { + Runnable r = new Runnable() { public void run() { long ts = System.currentTimeMillis(); boolean failed = false; @@ -262,7 +262,12 @@ public void run() { save(nodeCommunication); } } - }); + }; + if (parameterService.is(ParameterConstants.SYNCHRONIZE_ALL_JOBS)) { + r.run(); + } else { + service.execute(r); + } } return locked; }