Author: robbie Date: Fri Feb 17 11:57:58 2012 New Revision: 1245418 URL: http://svn.apache.org/viewvc?rev=1245418&view=rev Log: QPID-3850: add switch into default uncaught exception handler to prevent the broker from exiting if necessary
Applied patch from Oleksandr Rudyy <oru...@gmail.com> and myself. Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java?rev=1245418&r1=1245417&r2=1245418&view=diff ============================================================================== --- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java (original) +++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/Main.java Fri Feb 17 11:57:58 2012 @@ -302,6 +302,7 @@ public class Main { public void uncaughtException(final Thread t, final Throwable e) { + boolean continueOnError = Boolean.getBoolean("qpid.broker.exceptionHandler.continue"); try { System.err.println("########################################################################"); @@ -311,17 +312,20 @@ public class Main System.err.print(" in Thread "); System.err.println(t.getName()); System.err.println("#"); - System.err.println("# Exiting"); + System.err.println(continueOnError ? "# Forced to continue by JVM setting 'qpid.broker.exceptionHandler.continue'" : "# Exiting"); System.err.println("#"); System.err.println("########################################################################"); e.printStackTrace(System.err); Logger logger = Logger.getLogger("org.apache.qpid.server.Main"); - logger.error("Uncaught exception, shutting down.", e); + logger.error("Uncaught exception, " + (continueOnError ? "continuing." : "shutting down."), e); } finally { - Runtime.getRuntime().halt(1); + if (!continueOnError) + { + Runtime.getRuntime().halt(1); + } } } --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:commits-subscr...@qpid.apache.org