summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java16
1 files changed, 12 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 8ad2ace1b2..f3b54034e7 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
@@ -198,23 +198,31 @@ public class Main
{
System.out.println(e.getMessage());
_brokerLogger.error("Initialisation Error : " + e.getMessage());
-
+ shutdown(1);
}
catch (ConfigurationException e)
{
System.out.println("Error configuring message broker: " + e);
_brokerLogger.error("Error configuring message broker: " + e);
e.printStackTrace();
+ shutdown(1);
}
- catch (Exception e)
+ catch (Throwable e)
{
- System.out.println("Error intialising message broker: " + e);
- _brokerLogger.error("Error intialising message broker: " + e);
+ System.out.println("Error initialising message broker: " + e);
+ _brokerLogger.error("Error initialising message broker: " + e);
e.printStackTrace();
+ shutdown(1);
}
}
}
+ protected void shutdown(int status)
+ {
+ ApplicationRegistry.removeAll();
+ System.exit(status);
+ }
+
protected void startup() throws InitException, ConfigurationException, Exception
{
final String QpidHome = System.getProperty(QPID_HOME);