From 08d61deadc466bfd4e7190e0f0f00417f7abe7d2 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Fri, 7 May 2010 15:10:08 +0000 Subject: QPID-2575 : Add getClientID to SessionModel and standardise use accross 0-8/0-10, 0-10 does not appear to provide a client ID so maintaining use of Principal Name. This means migration between 0-8 and 0-10 will not behave as expected. Correct erroneous usages of session.getPrincipal when comparing with queue.getOwner is requried. Queue owners are the client id not the authenticated user. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@942102 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/server/AMQChannel.java | 6 +++++- .../org/apache/qpid/server/handler/QueueDeclareHandler.java | 12 ++++++------ .../org/apache/qpid/server/protocol/AMQProtocolEngine.java | 4 ++++ .../apache/qpid/server/protocol/AMQProtocolSessionMBean.java | 2 +- .../org/apache/qpid/server/protocol/AMQSessionModel.java | 2 ++ .../java/org/apache/qpid/server/queue/AMQQueueMBean.java | 6 +----- .../java/org/apache/qpid/server/store/DerbyMessageStore.java | 6 +----- .../java/org/apache/qpid/server/transport/ServerSession.java | 7 +++++++ .../apache/qpid/server/transport/ServerSessionDelegate.java | 2 +- 9 files changed, 28 insertions(+), 19 deletions(-) (limited to 'java/broker/src') diff --git a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java index 573fa9d966..e2f6b5cfce 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java +++ b/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java @@ -141,7 +141,6 @@ public class AMQChannel implements SessionConfig, AMQSessionModel private final AtomicLong _txnRejects = new AtomicLong(0); private final AtomicLong _txnCount = new AtomicLong(0); - // Why do we need this reference ? - ritchiem private final AMQProtocolSession _session; private AtomicBoolean _closing = new AtomicBoolean(false); @@ -1070,6 +1069,11 @@ public class AMQChannel implements SessionConfig, AMQSessionModel return _session; } + public String getClientID() + { + return String.valueOf(_session.getContextKey()); + } + private class MessageDeliveryAction implements ServerTransaction.Action { private IncomingMessage _incommingMessage; diff --git a/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java b/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java index 961a165877..444505f5bb 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java +++ b/java/broker/src/main/java/org/apache/qpid/server/handler/QueueDeclareHandler.java @@ -63,6 +63,7 @@ public class QueueDeclareHandler implements StateAwareMethodListener