From d2be103aab95b0d82080f69dd66f8f5cea367852 Mon Sep 17 00:00:00 2001 From: Aidan Skinner Date: Mon, 22 Jun 2009 14:41:10 +0000 Subject: 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 --- .../qpid/server/store/DerbyMessageStore.java | 2 +- .../apache/qpid/test/utils/FailoverBaseCase.java | 1 + .../org/apache/qpid/test/utils/QpidTestCase.java | 30 +++++++++++++++++++++- 3 files changed, 31 insertions(+), 2 deletions(-) (limited to 'java') 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) { -- cgit v1.2.1