diff options
| author | Aidan Skinner <aidan@apache.org> | 2009-06-22 14:41:10 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2009-06-22 14:41:10 +0000 |
| commit | d2be103aab95b0d82080f69dd66f8f5cea367852 (patch) | |
| tree | a12d4e77ad980fc1b15975db02d9fe5cbd8a84fd | |
| parent | c89f7d995b97b154e71c2ef1179f9ffd1b448dab (diff) | |
| download | qpid-python-d2be103aab95b0d82080f69dd66f8f5cea367852.tar.gz | |
QPID-1924: Make DerbyMessageStore honor $QPID_WORK.
DerbyMessageStore: pick up QPID_WORK
FailoverBaseCase: set QPID_WORK for the second broker
QpidTestCase: pass on QPID_WORK
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@787254 13f79535-47bb-0310-9956-ffa450edef68
3 files changed, 31 insertions, 2 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java index 9695571371..18269fa5e8 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java +++ b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java @@ -155,7 +155,7 @@ public class DerbyMessageStore implements MessageStore QueueRegistry queueRegistry = virtualHost.getQueueRegistry(); //Update to pick up QPID_WORK and use that as the default location not just derbyDB - final String databasePath = config.getStoreConfiguration().getString(ENVIRONMENT_PATH_PROPERTY, "derbyDB"); + final String databasePath = config.getStoreConfiguration().getString(ENVIRONMENT_PATH_PROPERTY, System.getProperty("QPID_WORK")+"/derbyDB"); File environmentPath = new File(databasePath); if (!environmentPath.exists()) diff --git a/java/systests/src/main/java/org/apache/qpid/test/utils/FailoverBaseCase.java b/java/systests/src/main/java/org/apache/qpid/test/utils/FailoverBaseCase.java index bfae6ad115..acdc149525 100644 --- a/java/systests/src/main/java/org/apache/qpid/test/utils/FailoverBaseCase.java +++ b/java/systests/src/main/java/org/apache/qpid/test/utils/FailoverBaseCase.java @@ -54,6 +54,7 @@ public class FailoverBaseCase extends QpidTestCase protected void setUp() throws java.lang.Exception { super.setUp(); + System.setProperty("QPID_WORK", System.getProperty("java.io.tmpdir")+"/"+getFailingPort()); startBroker(getFailingPort()); } diff --git a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java index a28e1181fe..2d19bb6e49 100644 --- a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java +++ b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java @@ -387,7 +387,7 @@ public class QpidTestCase extends TestCase //Add the test name to the broker run. env.put("QPID_PNAME", "-DPNAME=\"" + _testName + "\""); - + env.put("QPID_WORK", System.getProperty("QPID_WORK")); process = pb.start(); Piper p = new Piper(process.getInputStream(), @@ -469,6 +469,34 @@ public class QpidTestCase extends TestCase ApplicationRegistry.remove(port); } } + + public void nukeBroker() throws Exception + { + nukeBroker(0); + } + + public void nukeBroker(int port) throws Exception + { + Process proc = _brokers.get(getPort(port)); + if (proc == null) + { + stopBroker(port); + } + else + { + String command = "pkill -KILL -f "+getBrokerCommand(getPort(port)); + try + { + Runtime.getRuntime().exec(command); + } + catch (Exception e) + { + // Can't do that, try the old fashioned way + _logger.warn("Could not run "+command+", killing with stopBroker()"); + stopBroker(port); + } + } + } protected void setSystemProperty(String property, String value) { |
