You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by gt...@apache.org on 2017/04/04 13:17:50 UTC
[2/2] activemq git commit: [AMQ-6494] ensure vm transport propagates
onCommand exceptions to peer
[AMQ-6494] ensure vm transport propagates onCommand exceptions to peer
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/729766e4
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/729766e4
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/729766e4
Branch: refs/heads/master
Commit: 729766e4925ec05ec05410887df146dd27adbbf4
Parents: 0f7561e
Author: gtully <ga...@gmail.com>
Authored: Tue Apr 4 14:17:27 2017 +0100
Committer: gtully <ga...@gmail.com>
Committed: Tue Apr 4 14:17:27 2017 +0100
----------------------------------------------------------------------
.../org/apache/activemq/transport/vm/VMTransport.java | 10 +++++++++-
.../org/apache/activemq/bugs/embedded/ThreadExplorer.java | 2 +-
2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq/blob/729766e4/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
----------------------------------------------------------------------
diff --git a/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java b/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
index 5f75a3c..9ef7860 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/transport/vm/VMTransport.java
@@ -35,6 +35,7 @@ import org.apache.activemq.transport.ResponseCallback;
import org.apache.activemq.transport.Transport;
import org.apache.activemq.transport.TransportDisposedIOException;
import org.apache.activemq.transport.TransportListener;
+import org.apache.activemq.util.IOExceptionSupport;
import org.apache.activemq.wireformat.WireFormat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -270,7 +271,14 @@ public class VMTransport implements Transport, Task {
Object command = mq.poll();
if (command != null && !disposed.get()) {
- tl.onCommand(command);
+ try {
+ tl.onCommand(command);
+ } catch (Exception e) {
+ try {
+ peer.transportListener.onException(IOExceptionSupport.create(e));
+ } catch (Exception ignore) {
+ }
+ }
return !mq.isEmpty() && !disposed.get();
} else {
if(disposed.get()) {
http://git-wip-us.apache.org/repos/asf/activemq/blob/729766e4/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
----------------------------------------------------------------------
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
index eab5fd1..1d6e204 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
@@ -137,7 +137,7 @@ public class ThreadExplorer
if (thread != null)
{
out.append("* [" + thread.getName() + "] " + (thread.isDaemon() ? "(Daemon)" : "")
- + " Group: " + thread.getThreadGroup().getName() + "\n");
+ + " Group: " + (thread.getThreadGroup() != null ? thread.getThreadGroup().getName() : "") + "\n");
}
else
{