From b506f9691ef5538fd17582e6f6f3c36cd4972f7c Mon Sep 17 00:00:00 2001 From: chenson42 Date: Tue, 19 Mar 2013 13:11:37 +0000 Subject: [PATCH] 0001124: Add support to use the jboss.binding.address system property in JBoss 7 for the cluster.server.id --- .../symmetric/common/SystemConstants.java | 1 + .../service/impl/ClusterService.java | 37 ++++++++++++------- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/SystemConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/SystemConstants.java index 2ca9f11eef..6acd7bef30 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/SystemConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/SystemConstants.java @@ -32,6 +32,7 @@ public class SystemConstants { public static final String SYSPROP_ENGINES_DIR = "symmetric.engines.dir"; public static final String SYSPROP_WEB_DIR = "symmetric.default.web.dir"; public static final String SYSPROP_SERVER_PROPERTIES_PATH = "symmetric.server.properties.path"; + public static final String SYSPROP_CLUSTER_SERVER_ID = "runtime.symmetric.cluster.server.id"; public static final String SYSPROP_DEFAULT_HTTP_PORT = "symmetric.default.http.port"; public static final String SYSPROP_DEFAULT_HTTPS_PORT = "symmetric.default.https.port"; public static final String SYSPROP_DEFAULT_JMX_PORT = "symmetric.default.jmx.port"; diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ClusterService.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ClusterService.java index d90291f16d..7441536257 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ClusterService.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/service/impl/ClusterService.java @@ -45,6 +45,7 @@ import org.jumpmind.db.sql.Row; import org.jumpmind.db.sql.UniqueKeyException; import org.jumpmind.symmetric.common.ParameterConstants; +import org.jumpmind.symmetric.common.SystemConstants; import org.jumpmind.symmetric.db.ISymmetricDialect; import org.jumpmind.symmetric.model.Lock; import org.jumpmind.symmetric.service.IClusterService; @@ -142,20 +143,30 @@ public String getServerId() { if (StringUtils.isBlank(serverId)) { serverId = parameterService.getString(ParameterConstants.CLUSTER_SERVER_ID); if (StringUtils.isBlank(serverId)) { - serverId = System.getProperty("runtime.symmetric.cluster.server.id", null); - if (StringUtils.isBlank(serverId)) { - // JBoss uses this system property to identify a server in a - // cluster - serverId = System.getProperty("bind.address", null); - if (StringUtils.isBlank(serverId)) { - try { - serverId = AppUtils.getHostName(); - } catch (Exception ex) { - serverId = "unknown"; - } - } - } + serverId = System.getProperty(SystemConstants.SYSPROP_CLUSTER_SERVER_ID, null); } + + if (StringUtils.isBlank(serverId)) { + // JBoss uses this system property to identify a server in a + // cluster + serverId = System.getProperty("bind.address", null); + } + + if (StringUtils.isBlank(serverId)) { + // JBoss uses this system property to identify a server in a + // cluster + serverId = System.getProperty("jboss.bind.address", null); + } + + if (StringUtils.isBlank(serverId)) { + try { + serverId = AppUtils.getHostName(); + } catch (Exception ex) { + serverId = "unknown"; + } + } + + log.info("This node picked a server id of {}", serverId); } return serverId; }