From 89edc041d56903f04d4fb4f3f3302d99a1387056 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@1153183 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/transport/ServerSessionDelegate.java | 19 +++++++++++++------ qpid/java/test-profiles/Java010Excludes | 3 --- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java index 52d39978f3..5a6a9aa8b1 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSessionDelegate.java +++ b/qpid/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/qpid/java/test-profiles/Java010Excludes b/qpid/java/test-profiles/Java010Excludes index ec379fa2cc..36f156157a 100755 --- a/qpid/java/test-profiles/Java010Excludes +++ b/qpid/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