diff options
| author | Robert Gemmell <robbie@apache.org> | 2011-02-04 16:14:46 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2011-02-04 16:14:46 +0000 |
| commit | 5e34c79ab85ff75a929353590cd1b90ce1b91b67 (patch) | |
| tree | 901d7a82d4cdc53eaeb62804393da99343196203 /qpid/java/broker/src | |
| parent | 6b455d864349e7b90369fd424051210599fc9565 (diff) | |
| download | qpid-python-5e34c79ab85ff75a929353590cd1b90ce1b91b67.tar.gz | |
QPID-3021: ensure the connection actor is used for connection control events regardless of a particular sessions existence
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067208 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src')
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java index d8b7c2e80e..d2addfde0c 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java @@ -149,15 +149,23 @@ public class ServerConnection extends Connection implements AMQConnectionModel, @Override public void received(ProtocolEvent event) { - ServerSession channel = (ServerSession) getSession(event.getChannel()); - LogActor channelActor = null; - - if (channel != null) + if (event.isConnectionControl()) + { + CurrentActor.set(_actor); + } + else { - channelActor = channel.getLogActor(); + ServerSession channel = (ServerSession) getSession(event.getChannel()); + LogActor channelActor = null; + + if (channel != null) + { + channelActor = channel.getLogActor(); + } + + CurrentActor.set(channelActor == null ? _actor : channelActor); } - CurrentActor.set(channelActor == null ? _actor : channelActor); try { super.received(event); |
