svn commit: r1059006 - /lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java
[email protected] Fri, 14 Jan 2011 13:44:41 -0000
| Newsgroups | gmane.comp.cms.lenya.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: froethenbacher
Date: Fri Jan 14 13:44:40 2011
New Revision: 1059006
URL: http://svn.apache.org/viewvc?rev=1059006&view=rev
Log:
Support system property -Dlenya.cluster.configFile to specify cluster configuration file.
E.g. $ export JAVA_OPTS=-Dlenya.cluster.configFile=/tmp/cluster.xconf
If system property is missing, the default cluster configuration file will be used.
Modified:
lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java
Modified: lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java
URL: http://svn.apache.org/viewvc/lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java?rev=1059006&r1=1059005&r2=1059006&view=diff
==============================================================================
--- lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java (original)
+++ lenya/branches/BRANCH_2_1_X/src/impl/java/org/apache/lenya/cms/cluster/impl/ClusterManagerImpl.java Fri Jan 14 13:44:40 2011
@@ -40,6 +40,8 @@ public class ClusterManagerImpl extends
implements ClusterManager, Initializable, Serviceable
{
+ private final static String SYS_PROP_CONFIG_URI =
+ "lenya.cluster.configFile";
private final static String CONFIG_URI =
"context:/lenya/config/cluster/cluster.xconf";
@@ -74,6 +76,20 @@ implements ClusterManager, Initializable
isRsyncSynchronizationEnabled;
}
+ /**
+ * Get configuration URI.
+ * @return Configuration URI.
+ */
+ private String getConfigurationUri() {
+ String configUri = System.getProperty(SYS_PROP_CONFIG_URI);
+ if (configUri != null) {
+ configUri = "file://" + configUri;
+ } else {
+ configUri = CONFIG_URI;
+ }
+ return configUri;
+ }
+
@Override
public String getRsyncCommand() {
return rsyncCommand;
@@ -127,7 +143,16 @@ implements ClusterManager, Initializable
throws ClusterConfigurationException
{
try {
- Source configSource = resolver.resolveURI(CONFIG_URI);
+ String configUri = getConfigurationUri();
+ Source configSource = resolver.resolveURI(configUri);
+ if (!configSource.exists()) {
+ throw new ClusterConfigurationException("Cluster " +
+ "configuration file not found [" + configUri + "]");
+ }
+ if (getLogger().isInfoEnabled()) {
+ getLogger().info("Using cluster configuration file [" +
+ configUri + "]");
+ }
DefaultConfigurationBuilder builder =
new DefaultConfigurationBuilder();
Configuration config =