summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-03-10 14:37:53 +0000
committerRobert Gemmell <robbie@apache.org>2010-03-10 14:37:53 +0000
commit9fa1fc01ebc1a271bb365ebf8c3e50228c7a55b7 (patch)
treec8474e57a0641a199057b90a0ed2dc2b48183a96
parent2312ac871432b83b928be9f7403854ca7ef3af7a (diff)
downloadqpid-python-9fa1fc01ebc1a271bb365ebf8c3e50228c7a55b7.tar.gz
QPID-2379: ensure SubFlushRunner runnable changes thread name back to previous value, use corrects Logger for the class
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@921368 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/queue/SubFlushRunner.java41
1 files changed, 24 insertions, 17 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SubFlushRunner.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SubFlushRunner.java
index 1309e05978..46c1a6af9a 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/SubFlushRunner.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SubFlushRunner.java
@@ -30,7 +30,7 @@ import org.apache.log4j.Logger;
class SubFlushRunner implements ReadWriteRunnable
{
- private static final Logger _logger = Logger.getLogger(SimpleAMQQueue.class);
+ private static final Logger _logger = Logger.getLogger(SubFlushRunner.class);
private final Subscription _sub;
@@ -46,29 +46,36 @@ class SubFlushRunner implements ReadWriteRunnable
public void run()
{
-
- Thread.currentThread().setName(_name);
-
- boolean complete = false;
+ String originalName = Thread.currentThread().getName();
try
{
- CurrentActor.set(_sub.getLogActor());
- complete = getQueue().flushSubscription(_sub, ITERATIONS);
+ Thread.currentThread().setName(_name);
+
+ boolean complete = false;
+ try
+ {
+ CurrentActor.set(_sub.getLogActor());
+ complete = getQueue().flushSubscription(_sub, ITERATIONS);
+
+ }
+ catch (AMQException e)
+ {
+ _logger.error(e);
+ }
+ finally
+ {
+ CurrentActor.remove();
+ }
+ if (!complete && !_sub.isSuspended())
+ {
+ getQueue().execute(this);
+ }
}
- catch (AMQException e)
- {
- _logger.error(e);
- }
finally
{
- CurrentActor.remove();
+ Thread.currentThread().setName(originalName);
}
- if (!complete && !_sub.isSuspended())
- {
- getQueue().execute(this);
- }
-
}