summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
index b40576f258..036ac4ece8 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
@@ -43,6 +43,8 @@ import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.server.message.InboundMessage;
+import org.apache.qpid.server.logging.actors.CurrentActor;
+import org.apache.qpid.server.logging.actors.ManagementActor;
public class DirectExchange extends AbstractExchange
{
@@ -129,6 +131,7 @@ public class DirectExchange extends AbstractExchange
throw new JMException("Queue \"" + queueName + "\" is not registered with the exchange.");
}
+ CurrentActor.set(new ManagementActor(_logActor.getRootMessageLogger()));
try
{
queue.bind(DirectExchange.this, new AMQShortString(binding), null);
@@ -137,6 +140,10 @@ public class DirectExchange extends AbstractExchange
{
throw new MBeanException(ex);
}
+ finally
+ {
+ CurrentActor.remove();
+ }
}
}// End of MBean class