You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2015/05/08 22:13:06 UTC

activemq git commit: Added an uncaught exception handler to ThreadPoolExecutor getExecutor() method to log errors in threads.

Repository: activemq
Updated Branches:
  refs/heads/master 16a1e2b68 -> b679c8d4d


Added an uncaught exception handler to ThreadPoolExecutor getExecutor()
method to log errors in threads.

This resolves https://issues.apache.org/jira/browse/AMQ-5750

This closes #93

Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/b679c8d4
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/b679c8d4
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/b679c8d4

Branch: refs/heads/master
Commit: b679c8d4d2475aaf0bb90c0e3a4aadfd3ff893d2
Parents: 16a1e2b
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
Authored: Tue Apr 28 11:49:39 2015 +0000
Committer: Timothy Bish <ta...@gmail.com>
Committed: Fri May 8 16:11:44 2015 -0400

----------------------------------------------------------------------
 .../java/org/apache/activemq/thread/TaskRunnerFactory.java   | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/b679c8d4/activemq-client/src/main/java/org/apache/activemq/thread/TaskRunnerFactory.java
----------------------------------------------------------------------
diff --git a/activemq-client/src/main/java/org/apache/activemq/thread/TaskRunnerFactory.java b/activemq-client/src/main/java/org/apache/activemq/thread/TaskRunnerFactory.java
index d6b1938..ea1534f 100755
--- a/activemq-client/src/main/java/org/apache/activemq/thread/TaskRunnerFactory.java
+++ b/activemq-client/src/main/java/org/apache/activemq/thread/TaskRunnerFactory.java
@@ -176,7 +176,13 @@ public class TaskRunnerFactory implements Executor {
                 if (threadClassLoader != null) {
                     thread.setContextClassLoader(threadClassLoader);
                 }
-
+                thread.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
+                    @Override
+                    public void uncaughtException(final Thread t, final Throwable e) {
+                        LOG.error("Error in thread '{}'", t.getName(), e);
+                    }
+                });
+                
                 LOG.trace("Created thread[{}]: {}", threadName, thread);
                 return thread;
             }