summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2009-06-22 14:41:10 +0000
committerAidan Skinner <aidan@apache.org>2009-06-22 14:41:10 +0000
commitd2be103aab95b0d82080f69dd66f8f5cea367852 (patch)
treea12d4e77ad980fc1b15975db02d9fe5cbd8a84fd
parentc89f7d995b97b154e71c2ef1179f9ffd1b448dab (diff)
downloadqpid-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
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java2
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/utils/FailoverBaseCase.java1
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java30
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)
{