Repository: qpid-broker-j Updated Branches: refs/heads/master ecf90c9c5 -> 7aceb5f3f
QPID-7855: [Java Broker] Consider Sessions closing when the underlying connection is closing Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/7aceb5f3 Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/7aceb5f3 Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/7aceb5f3 Branch: refs/heads/master Commit: 7aceb5f3fb0402fe613a6b5e775457f07f6bf082 Parents: ecf90c9 Author: Lorenz Quack <lqu...@apache.org> Authored: Fri Jul 21 10:44:20 2017 +0100 Committer: Lorenz Quack <lqu...@apache.org> Committed: Fri Jul 21 11:10:14 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/qpid/server/transport/AMQPConnection.java | 2 ++ .../qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java | 6 ++++++ .../org/apache/qpid/server/protocol/v0_10/ServerSession.java | 2 +- .../java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java | 2 +- .../apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java | 2 -- .../apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java | 2 -- .../java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java | 2 +- 7 files changed, 11 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-core/src/main/java/org/apache/qpid/server/transport/AMQPConnection.java ---------------------------------------------------------------------- diff --git a/broker-core/src/main/java/org/apache/qpid/server/transport/AMQPConnection.java b/broker-core/src/main/java/org/apache/qpid/server/transport/AMQPConnection.java index 4ed7d58..1b872b9 100644 --- a/broker-core/src/main/java/org/apache/qpid/server/transport/AMQPConnection.java +++ b/broker-core/src/main/java/org/apache/qpid/server/transport/AMQPConnection.java @@ -116,6 +116,8 @@ public interface AMQPConnection<C extends AMQPConnection<C>> boolean isTransportBlockedForWriting(); + boolean isClosing(); + long getMaxMessageSize(); @Override http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java index 9458b77..ec9ebfa 100755 --- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java +++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/AMQPConnection_0_10Impl.java @@ -219,6 +219,12 @@ public class AMQPConnection_0_10Impl extends AbstractAMQPConnection<AMQPConnecti } @Override + public boolean isClosing() + { + return _connection.isClosing() || _connection.isConnectionLost(); + } + + @Override public int getHeartbeatDelay() { return _connection.getHeartBeatDelay(); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java index 40ab9d5..c57fef8 100644 --- a/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java +++ b/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSession.java @@ -821,7 +821,7 @@ public class ServerSession extends SessionInvoker public boolean isClosing() { - return state == CLOSED || state == CLOSING; + return state == CLOSED || state == CLOSING || connection.isClosing(); } @Override http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java index 91d92b4..7f4bb2e 100644 --- a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java +++ b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java @@ -1197,7 +1197,7 @@ public class AMQChannel extends AbstractAMQPSession<AMQChannel, ConsumerTarget_0 @Override public boolean isClosing() { - return _closing.get(); + return _closing.get() || getConnection().isClosing(); } public AMQPConnection_0_8<?> getConnection() http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java index 66d45d9..35f787a 100644 --- a/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java +++ b/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQPConnection_0_8.java @@ -66,8 +66,6 @@ public interface AMQPConnection_0_8<C extends AMQPConnection_0_8<C>> extends AMQ ContextProvider getContextProvider(); - boolean isClosing(); - void closeChannelOk(int channelId); int getBinaryDataLimit(); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java index f80696e..4e591d8 100644 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/AMQPConnection_1_0.java @@ -81,8 +81,6 @@ public interface AMQPConnection_1_0<C extends AMQPConnection_1_0<C>> extends AMQ boolean isClosed(); - boolean isClosing(); - void close(Error error); Iterator<IdentifiedTransaction> getOpenTransactions(); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/7aceb5f3/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java ---------------------------------------------------------------------- diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java index a5fe374..5d9eb4e 100644 --- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java +++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Session_1_0.java @@ -1262,7 +1262,7 @@ public class Session_1_0 extends AbstractAMQPSession<Session_1_0, ConsumerTarget @Override public boolean isClosing() { - return END_STATES.contains(getSessionState()); + return END_STATES.contains(getSessionState()) || getConnection().isClosing(); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org