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 --- .../java/org/apache/qpid/server/AMQChannel.java | 6 ++- .../qpid/server/handler/QueueDeclareHandler.java | 12 +++--- .../qpid/server/protocol/AMQProtocolEngine.java | 4 ++ .../server/protocol/AMQProtocolSessionMBean.java | 2 +- .../qpid/server/protocol/AMQSessionModel.java | 2 + .../apache/qpid/server/queue/AMQQueueMBean.java | 6 +-- .../qpid/server/store/DerbyMessageStore.java | 6 +-- .../qpid/server/transport/ServerSession.java | 7 ++++ .../server/transport/ServerSessionDelegate.java | 2 +- .../org/apache/qpid/server/queue/ModelTest.java | 49 +++++++++++++++++++++- 10 files changed, 75 insertions(+), 21 deletions(-) (limited to 'java') 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