From d82b6bcaf494cbc24d259bf8e9f3250ad25d52bd Mon Sep 17 00:00:00 2001 From: Eric Long Date: Wed, 5 Apr 2023 15:09:52 -0400 Subject: [PATCH] 0005772: Add cluster information to info URI --- .../org/jumpmind/symmetric/web/InfoUriHandler.java | 10 +++++++++- .../jumpmind/symmetric/web/ServerSymmetricEngine.java | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/symmetric-server/src/main/java/org/jumpmind/symmetric/web/InfoUriHandler.java b/symmetric-server/src/main/java/org/jumpmind/symmetric/web/InfoUriHandler.java index 7c49887e51..b388e96688 100644 --- a/symmetric-server/src/main/java/org/jumpmind/symmetric/web/InfoUriHandler.java +++ b/symmetric-server/src/main/java/org/jumpmind/symmetric/web/InfoUriHandler.java @@ -34,6 +34,7 @@ import org.jumpmind.symmetric.common.ParameterConstants; import org.jumpmind.symmetric.model.Node; import org.jumpmind.symmetric.model.NodeGroupLink; +import org.jumpmind.symmetric.service.IClusterService; import org.jumpmind.symmetric.service.IConfigurationService; import org.jumpmind.symmetric.service.INodeService; import org.jumpmind.symmetric.service.IParameterService; @@ -44,13 +45,15 @@ public class InfoUriHandler extends AbstractUriHandler { private INodeService nodeService; private IConfigurationService configurationService; + private IClusterService clusterService; public InfoUriHandler(IParameterService parameterService, INodeService nodeService, - IConfigurationService configurationService, IInterceptor[] interceptors) { + IConfigurationService configurationService, IClusterService clusterService, IInterceptor[] interceptors) { super("/info/*", parameterService, interceptors); this.nodeService = nodeService; this.configurationService = configurationService; + this.clusterService = clusterService; } public void handle(HttpServletRequest req, HttpServletResponse res) throws IOException, @@ -93,6 +96,11 @@ public void handle(HttpServletRequest req, HttpServletResponse res) throws IOExc } } properties.setProperty(InfoConstants.BULK_LOADER_ENABLED, String.valueOf(configurationService.isBulkLoaderEnabled())); + boolean isClustered = parameterService.is(ParameterConstants.CLUSTER_LOCKING_ENABLED); + properties.setProperty(ParameterConstants.CLUSTER_LOCKING_ENABLED, Boolean.toString(isClustered)); + if (isClustered) { + properties.setProperty(ParameterConstants.CLUSTER_SERVER_ID, clusterService.getServerId()); + } properties.store(res.getOutputStream(), "SymmetricDS"); res.flushBuffer(); } diff --git a/symmetric-server/src/main/java/org/jumpmind/symmetric/web/ServerSymmetricEngine.java b/symmetric-server/src/main/java/org/jumpmind/symmetric/web/ServerSymmetricEngine.java index ba47139170..f920754a77 100644 --- a/symmetric-server/src/main/java/org/jumpmind/symmetric/web/ServerSymmetricEngine.java +++ b/symmetric-server/src/main/java/org/jumpmind/symmetric/web/ServerSymmetricEngine.java @@ -91,7 +91,7 @@ protected void init() { add(customInterceptors, authInterceptor, concurrencyInterceptor))); this.uriHandlers.add(new PingUriHandler(parameterService, customInterceptors)); this.uriHandlers - .add(new InfoUriHandler(parameterService, nodeService, configurationService, customInterceptors)); + .add(new InfoUriHandler(parameterService, nodeService, configurationService, clusterService, customInterceptors)); this.uriHandlers.add(new BandwidthSamplerUriHandler(parameterService, add(customInterceptors, authInterceptor, concurrencyInterceptor))); this.uriHandlers.add(new PullUriHandler(parameterService, nodeService, configurationService, dataExtractorService, registrationService, statisticManager, outgoingBatchService,