From 4e512670d16c352c9ff403b8525fae51a2183243 Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Sun, 5 Apr 2015 18:45:50 +0000 Subject: QPID-6477: [Java Broker] Make 0-10 implementation ignore all received frames except ConnectionCloseOk once ConnectionClose is sent git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1671415 13f79535-47bb-0310-9956-ffa450edef68 --- .../server/protocol/v0_10/ServerConnection.java | 25 +++++++++++++++------- 1 file changed, 17 insertions(+), 8 deletions(-) (limited to 'qpid/java/broker-plugins') diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java index 4956faa199..227281bbaf 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnection.java @@ -58,7 +58,9 @@ import org.apache.qpid.server.util.Action; import org.apache.qpid.server.util.ServerScopedRuntimeException; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.transport.Connection; +import org.apache.qpid.transport.ConnectionClose; import org.apache.qpid.transport.ConnectionCloseCode; +import org.apache.qpid.transport.ConnectionCloseOk; import org.apache.qpid.transport.ExecutionErrorCode; import org.apache.qpid.transport.ExecutionException; import org.apache.qpid.transport.Method; @@ -98,6 +100,7 @@ public class ServerConnection extends Connection implements AMQConnectionModel broker, @@ -135,6 +138,10 @@ public class ServerConnection extends Connection implements AMQConnectionModel() + if(!_ignoreAllButConnectionCloseOk || (event instanceof ConnectionCloseOk)) { - @Override - public Void run() + Subject.doAs(subject, new PrivilegedAction() { - ServerConnection.super.received(event); - return null; - } - }); - + @Override + public Void run() + { + ServerConnection.super.received(event); + return null; + } + }); + } } public String toLogString() -- cgit v1.2.1