summaryrefslogtreecommitdiff
path: root/qpid/java/common/src/main
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2009-03-03 20:43:34 +0000
committerRafael H. Schloming <rhs@apache.org>2009-03-03 20:43:34 +0000
commitd51bfdcf91766ae2a703bbc45c0c75439968bb9d (patch)
treebd54c11b8d80dd013b7a0b3dd6680058711934f3 /qpid/java/common/src/main
parent7ab5a53d15514385b0393f9a66e9e6a8b2463221 (diff)
downloadqpid-python-d51bfdcf91766ae2a703bbc45c0c75439968bb9d.tar.gz
QPID-1708: go into CLOSED instead of DETACHED state when there is an execution exception
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@749740 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/common/src/main')
-rw-r--r--qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
index 9920b67d79..361db42498 100644
--- a/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
+++ b/qpid/java/common/src/main/java/org/apache/qpid/transport/Session.java
@@ -537,7 +537,15 @@ public class Session extends SessionInvoker
}
break;
case CLOSED:
- throw new SessionClosedException();
+ ExecutionException exc = getException();
+ if (exc != null)
+ {
+ throw new SessionException(exc);
+ }
+ else
+ {
+ throw new SessionClosedException();
+ }
default:
throw new SessionException
(String.format
@@ -868,7 +876,7 @@ public class Session extends SessionInvoker
{
synchronized (commands)
{
- if (expiry == 0)
+ if (expiry == 0 || getException() != null)
{
state = CLOSED;
}