diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-07-26 22:57:11 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-07-26 22:57:11 +0000 |
| commit | b71bbd227dfacaedaba411e908853b05e8fbd243 (patch) | |
| tree | 34c186991ae516bef5e0322558aae4843a8545b2 /qpid/java/broker | |
| parent | 151622bd91d7eb031498ff598a31a295af27799b (diff) | |
| download | qpid-python-b71bbd227dfacaedaba411e908853b05e8fbd243.tar.gz | |
QPID-5165 : Change the Broker stores to use the generic ConfigurationStore implementations and remove old EntryStore implementations
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1613739 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker')
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java | 58 | ||||
| -rw-r--r-- | qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java | 2 |
2 files changed, 56 insertions, 4 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java index 20b73e965c..72550128b7 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java @@ -21,6 +21,10 @@ package org.apache.qpid.server; import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.HelpFormatter; @@ -30,9 +34,11 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; import org.apache.log4j.Logger; + import org.apache.qpid.common.QpidProperties; import org.apache.qpid.framing.ProtocolVersion; -import org.apache.qpid.server.configuration.store.ConfigurationEntryStoreUtil; +import org.apache.qpid.server.configuration.IllegalConfigurationException; +import org.apache.qpid.util.FileUtils; /** * Main entry point for AMQPD. @@ -189,8 +195,7 @@ public class Main destinationFile = new File(System.getProperty("user.dir"), BrokerOptions.DEFAULT_INITIAL_CONFIG_NAME); } - ConfigurationEntryStoreUtil util = new ConfigurationEntryStoreUtil(); - util.copyInitialConfigFile(options.getInitialConfigurationLocation(), destinationFile); + copyInitialConfigFile(options, destinationFile); System.out.println("Initial config written to: " + destinationFile.getAbsolutePath()); } @@ -299,6 +304,53 @@ public class Main } } + private void copyInitialConfigFile(final BrokerOptions options, final File destinationFile) + { + String initialConfigLocation = options.getInitialConfigurationLocation(); + URL url = null; + try + { + url = new URL(initialConfigLocation); + } + catch (MalformedURLException e) + { + File locationFile = new File(initialConfigLocation); + try + { + url = locationFile.toURI().toURL(); + } + catch (MalformedURLException e1) + { + throw new IllegalConfigurationException("Cannot create URL for file " + locationFile, e1); + } + } + InputStream in = null; + try + { + in = url.openStream(); + FileUtils.copy(in, destinationFile); + } + catch (IOException e) + { + throw new IllegalConfigurationException("Cannot create file " + destinationFile + + " by copying initial config from " + initialConfigLocation, e); + } + finally + { + if (in != null) + { + try + { + in.close(); + } + catch (IOException e) + { + throw new IllegalConfigurationException("Cannot close initial config input stream: " + initialConfigLocation, e); + } + } + } + } + protected void setExceptionHandler() { Thread.UncaughtExceptionHandler handler = null; diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java index c6d68843b7..850fa993f5 100644 --- a/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java +++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/MainTest.java @@ -48,7 +48,7 @@ public class MainTest extends QpidTestCase BrokerOptions options = startDummyMain(""); - assertEquals("json", options.getConfigurationStoreType()); + assertEquals("JSON", options.getConfigurationStoreType()); assertEquals(expectedStorePath, options.getConfigurationStoreLocation()); assertEquals(expectedLogConfigPath, options.getLogConfigFileLocation()); assertEquals(0, options.getLogWatchFrequency()); |
