summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2011-02-04 16:14:46 +0000
committerRobert Gemmell <robbie@apache.org>2011-02-04 16:14:46 +0000
commit5e34c79ab85ff75a929353590cd1b90ce1b91b67 (patch)
tree901d7a82d4cdc53eaeb62804393da99343196203 /qpid/java/broker/src
parent6b455d864349e7b90369fd424051210599fc9565 (diff)
downloadqpid-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.java20
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);