Author: ritchiem
Date: Wed Apr 30 07:40:45 2008
New Revision: 652389

URL: http://svn.apache.org/viewvc?rev=652389&view=rev
Log:
QPID-887 : Renamed QueueHouseKeeping threads so they can be identified in 
thread dump. Named Queue-housekeeping-<virtualhost name>

Modified:
    
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java

Modified: 
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
URL: 
http://svn.apache.org/viewvc/incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java?rev=652389&r1=652388&r2=652389&view=diff
==============================================================================
--- 
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
 (original)
+++ 
incubator/qpid/branches/M2.x/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHost.java
 Wed Apr 30 07:40:45 2008
@@ -71,7 +71,7 @@
 
     private ACLPlugin _accessManager;
 
-    private final Timer _houseKeepingTimer = new Timer("Queue-housekeeping", 
true);
+    private final Timer _houseKeepingTimer;
      
     private static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
     
@@ -172,41 +172,53 @@
 
         _brokerMBean = new AMQBrokerManagerMBean(_virtualHostMBean);
         _brokerMBean.register();
+        _houseKeepingTimer = new Timer("Queue-housekeeping-" + _name, true);
         initialiseHouseKeeping(hostConfig);
     }
 
     private void initialiseHouseKeeping(final Configuration hostConfig)
     {
-     
-       long period = 
hostConfig.getLong("housekeeping.expiredMessageCheckPeriod", 
DEFAULT_HOUSEKEEPING_PERIOD);
-    
-       /* add a timer task to iterate over queues, cleaning expired messages 
from queues with no consumers */
-       if(period != 0L)
-       {
-               class RemoveExpiredMessagesTask extends TimerTask
-               {
-                       public void run()
-                       {
-                               for(AMQQueue q : _queueRegistry.getQueues())
-                               {
-
-                                       try
-                                       {
-                                               
q.removeExpiredIfNoSubscribers();
-                                       }
-                                       catch (AMQException e)
-                                       {
-                                               _logger.error("Exception in 
housekeeping for queue: " + q.getName().toString(),e);
-                                               throw new RuntimeException(e);
-                                       }
-                               }
-                       }
-               }
-               
-               _houseKeepingTimer.scheduleAtFixedRate(new 
RemoveExpiredMessagesTask(),
-                               period/2,
-                               period);
-       }
+
+        long period = 
hostConfig.getLong("housekeeping.expiredMessageCheckPeriod", 
DEFAULT_HOUSEKEEPING_PERIOD);
+
+        /* add a timer task to iterate over queues, cleaning expired messages 
from queues with no consumers */
+        if (period != 0L)
+        {
+            class RemoveExpiredMessagesTask extends TimerTask
+            {
+                public void run()
+                {
+                    try
+                    {
+                        _logger.info("Start Run");
+                        for (AMQQueue q : _queueRegistry.getQueues())
+                        {
+
+                            try
+                            {
+                                q.removeExpiredIfNoSubscribers();
+                            }
+                            catch (AMQException e)
+                            {
+                                _logger.error("Exception in housekeeping for 
queue: " + q.getName().toString(), e);
+                                throw new RuntimeException(e);
+                            }
+                        }
+                        _logger.info("Stop Run");
+                    }
+                    catch (Exception fatal)
+                    {
+                        System.err.println(Thread.currentThread().getName()+" 
Exception in housekeeping "+fatal);
+                        fatal.printStackTrace();
+                        System.exit(-1);
+                    }
+                }
+            }
+
+            _houseKeepingTimer.scheduleAtFixedRate(new 
RemoveExpiredMessagesTask(),
+                                                   period / 2,
+                                                   period);
+        }
     }
     
     private void initialiseMessageStore(Configuration config) throws Exception


Reply via email to