summaryrefslogtreecommitdiff
path: root/java/broker/src
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2007-05-18 13:50:59 +0000
committerMartin Ritchie <ritchiem@apache.org>2007-05-18 13:50:59 +0000
commita980d618a85e3cd6931c2c0cd09946f542e342e0 (patch)
tree4a9a4925ff0cc12f3797f9dbb95d9839b30b4f98 /java/broker/src
parent5b52a27ad60df55e794a17935bdea5852b426c34 (diff)
downloadqpid-python-a980d618a85e3cd6931c2c0cd09946f542e342e0.tar.gz
QPID-401 Integrated python tests with maven tested on windows CMD.exe and linux FC5
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/M2@539470 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/Main.java8
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java130
2 files changed, 136 insertions, 2 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/Main.java b/java/broker/src/main/java/org/apache/qpid/server/Main.java
index c345b43aeb..5b0645ff3d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/Main.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/Main.java
@@ -24,6 +24,7 @@ import java.io.File;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
+import java.net.BindException;
import java.util.Collection;
import java.util.List;
import java.util.StringTokenizer;
@@ -160,7 +161,8 @@ public class Main
}
else if (commandLine.hasOption("v"))
{
- String ver = "Qpid 0.9.0.0";
+ String ver = QpidProperties.getVersionString();
+
StringBuilder protocol = new StringBuilder("AMQP version(s) [major.minor]: ");
boolean first = true;
@@ -333,7 +335,7 @@ public class Main
}
}
- protected void bind(int port, ConnectorConfiguration connectorConfig)
+ protected void bind(int port, ConnectorConfiguration connectorConfig) throws BindException
{
String bindAddr = commandLine.getOptionValue("b");
if (bindAddr == null)
@@ -401,6 +403,8 @@ public class Main
catch (Exception e)
{
_logger.error("Unable to bind service to registry: " + e, e);
+ //fixme this need tidying up
+ throw new BindException(e.getMessage());
}
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java b/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java
new file mode 100644
index 0000000000..1ebecbacb6
--- /dev/null
+++ b/java/broker/src/test/java/org/apache/qpid/server/RunBrokerWithCommand.java
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ *
+ */
+package org.apache.qpid.server;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.Level;
+
+import java.io.InputStream;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+
+public class RunBrokerWithCommand
+{
+ public static void main(String[] args)
+ {
+ //Start broker
+
+ try
+ {
+
+ String[] fudge = new String[1];
+ fudge[0] = "-v";
+ new Main(fudge).startup();
+ }
+ catch (Exception e)
+ {
+ System.out.println("Unable to start broker due to: " + e.getMessage());
+
+ e.printStackTrace();
+ exit(1);
+ }
+
+ Logger.getRootLogger().setLevel(Level.ERROR);
+
+ //run command
+ try
+ {
+ Process task = Runtime.getRuntime().exec(args[0]);
+ System.out.println("Started Proccess: " + args[0]);
+
+ InputStream inputStream = task.getInputStream();
+
+ InputStream errorStream = task.getErrorStream();
+
+ Thread out = new Thread(new Outputter("[OUT]", new BufferedReader(new InputStreamReader(inputStream))));
+ Thread err = new Thread(new Outputter("[ERR]", new BufferedReader(new InputStreamReader(errorStream))));
+
+ out.start();
+ err.start();
+
+ out.join();
+ err.join();
+
+ System.out.println("Waiting for process to exit: " + args[0]);
+ task.waitFor();
+ System.out.println("Done Proccess: " + args[0]);
+
+ }
+ catch (IOException e)
+ {
+ System.out.println("Proccess had problems: " + e.getMessage());
+ exit(1);
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println("Proccess had problems: " + e.getMessage());
+
+ exit(1);
+ }
+
+
+ exit(0);
+ }
+
+ private static void exit(int i)
+ {
+ Logger.getRootLogger().setLevel(Level.INFO);
+ System.exit(i);
+ }
+
+ static class Outputter implements Runnable
+ {
+
+ BufferedReader reader;
+ String prefix;
+
+ Outputter(String s, BufferedReader r)
+ {
+ prefix = s;
+ reader = r;
+ }
+
+ public void run()
+ {
+ String line;
+ try
+ {
+ while ((line = reader.readLine()) != null)
+ {
+ System.out.println(prefix + line);
+ }
+ }
+ catch (IOException e)
+ {
+ System.out.println("Error occured reading; " + e.getMessage());
+ }
+ }
+
+ }
+
+}