From 43a367aec5c7b4c6ff133bb1034fed62f29dc117 Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Thu, 6 Aug 2009 17:00:04 +0000 Subject: QPID-2002 : Add Binding Logging Messages with test git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@801723 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/server/queue/ExchangeBinding.java | 21 ++++++++++++++------- .../apache/qpid/server/queue/ExchangeBindings.java | 4 ++-- 2 files changed, 16 insertions(+), 9 deletions(-) (limited to 'java/broker/src') diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java index a2fcab9e73..7584a3b7cc 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBinding.java @@ -21,6 +21,10 @@ package org.apache.qpid.server.queue; import org.apache.qpid.server.exchange.Exchange; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.messages.BindingMessages; +import org.apache.qpid.server.logging.subjects.BindingLogSubject; +import org.apache.qpid.server.logging.LogSubject; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.FieldTable; import org.apache.qpid.AMQException; @@ -31,23 +35,26 @@ public class ExchangeBinding private final AMQShortString _routingKey; private final FieldTable _arguments; - private static final FieldTable EMPTY_ARGUMENTS = new FieldTable(); + private static final FieldTable EMPTY_ARGUMENTS = new FieldTable(); + private LogSubject _logSubject; - ExchangeBinding(AMQShortString routingKey, Exchange exchange) - { - this(routingKey, exchange, EMPTY_ARGUMENTS); - } - - ExchangeBinding(AMQShortString routingKey, Exchange exchange, FieldTable arguments) + ExchangeBinding(AMQShortString routingKey, Exchange exchange, AMQQueue queue, FieldTable arguments) { _routingKey = routingKey == null ? AMQShortString.EMPTY_STRING : routingKey; _exchange = exchange; _arguments = arguments == null ? EMPTY_ARGUMENTS : arguments; + _logSubject = new BindingLogSubject(routingKey,exchange,queue); + + CurrentActor.get().message(_logSubject, BindingMessages.BND_1001(_arguments.toString(), arguments != null)); } + + void unbind(AMQQueue queue) throws AMQException { _exchange.deregisterQueue(_routingKey, queue, _arguments); + + CurrentActor.get().message(_logSubject, BindingMessages.BND_1002()); } public Exchange getExchange() diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBindings.java b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBindings.java index fb839c1783..89262aee59 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBindings.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/ExchangeBindings.java @@ -52,13 +52,13 @@ class ExchangeBindings */ void addBinding(AMQShortString routingKey, FieldTable arguments, Exchange exchange) { - _bindings.add(new ExchangeBinding(routingKey, exchange, arguments)); + _bindings.add(new ExchangeBinding(routingKey, exchange, _queue, arguments)); } public boolean remove(AMQShortString routingKey, FieldTable arguments, Exchange exchange) { - return _bindings.remove(new ExchangeBinding(routingKey, exchange, arguments)); + return _bindings.remove(new ExchangeBinding(routingKey, exchange, _queue, arguments)); } -- cgit v1.2.1