From 4cbd109e7a909ba4da2f2a321a1e1655345475da Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Tue, 2 Aug 2011 16:37:34 +0000 Subject: QPID-2899: ensure otherwise unhandled exceptions close the Session with an ExecutionException git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1153183 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/transport/ServerSessionDelegate.java | 19 +++++++++++++------ java/test-profiles/Java010Excludes | 3 --- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'java') diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java index 52d39978f3..5a6a9aa8b1 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java @@ -106,16 +106,23 @@ public class ServerSessionDelegate extends SessionDelegate @Override public void command(Session session, Method method) { - setThreadSubject(session); - - if(!session.isClosing()) + try { - super.command(session, method); - if (method.isSync()) + setThreadSubject(session); + + if(!session.isClosing()) { - session.flushProcessed(); + super.command(session, method); + if (method.isSync()) + { + session.flushProcessed(); + } } } + catch(RuntimeException e) + { + exception(session, method, ExecutionErrorCode.INTERNAL_ERROR, "Exception processing command: " + e); + } } @Override diff --git a/java/test-profiles/Java010Excludes b/java/test-profiles/Java010Excludes index ec379fa2cc..36f156157a 100755 --- a/java/test-profiles/Java010Excludes +++ b/java/test-profiles/Java010Excludes @@ -82,6 +82,3 @@ org.apache.qpid.test.client.destination.AddressBasedDestinationTest#testBrowseMo // QPID-3133: On 0-10, the exception listener is currently not invoked when reconnection fails to occurs. org.apache.qpid.server.failover.FailoverMethodTest#* - -// QPID-2899 -org.apache.qpid.test.client.message.SelectorTest#testRuntimeSelectorError -- cgit v1.2.1