diff options
Diffstat (limited to 'java/broker-plugins/experimental')
| -rw-r--r-- | java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java | 55 |
1 files changed, 21 insertions, 34 deletions
diff --git a/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java index c3f5d7e5ac..fbbb205ff0 100644 --- a/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java +++ b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/SlowConsumerDetection.java @@ -25,20 +25,19 @@ import org.apache.qpid.server.configuration.plugin.SlowConsumerDetectionConfigur import org.apache.qpid.server.configuration.plugin.SlowConsumerDetectionQueueConfiguration; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.virtualhost.VirtualHost; -import org.apache.qpid.server.virtualhost.plugins.VirtualHostPlugin; +import org.apache.qpid.server.virtualhost.plugins.VirtualHostHouseKeepingPlugin; import org.apache.qpid.server.virtualhost.plugins.VirtualHostPluginFactory; import org.apache.qpid.slowconsumerdetection.policies.SlowConsumerPolicyPlugin; -class SlowConsumerDetection extends VirtualHostPlugin +class SlowConsumerDetection extends VirtualHostHouseKeepingPlugin { Logger _logger = Logger.getLogger(SlowConsumerDetection.class); - private VirtualHost _virtualhost; private SlowConsumerDetectionConfiguration _config; private SlowConsumerPolicyPlugin _policy; public static class SlowConsumerFactory implements VirtualHostPluginFactory { - public VirtualHostPlugin newInstance(VirtualHost vhost) + public VirtualHostHouseKeepingPlugin newInstance(VirtualHost vhost) { return new SlowConsumerDetection(vhost); } @@ -46,54 +45,42 @@ class SlowConsumerDetection extends VirtualHostPlugin public SlowConsumerDetection(VirtualHost vhost) { - _virtualhost = vhost; + super(vhost); _config = vhost.getConfiguration().getConfiguration(SlowConsumerDetectionConfiguration.class); if (_config == null) { throw new IllegalArgumentException("Plugin has not been configured"); } - } @Override public void execute() { _logger.info("Starting the SlowConsumersDetection job"); - try + for (AMQQueue q : _virtualhost.getQueueRegistry().getQueues()) { - for (AMQQueue q : _virtualhost.getQueueRegistry().getQueues()) + _logger.debug("Checking consumer status for queue: " + + q.getName()); + try { - _logger.debug("Checking consumer status for queue: " - + q.getName()); - try - { - SlowConsumerDetectionQueueConfiguration config = - q.getConfiguration().getConfiguration(SlowConsumerDetectionQueueConfiguration.class); + SlowConsumerDetectionQueueConfiguration config = + q.getConfiguration().getConfiguration(SlowConsumerDetectionQueueConfiguration.class); - if (checkQueueStatus(q, config)) - { - config.getPolicy().performPolicy(q); - } - } - catch (Exception e) + if (checkQueueStatus(q, config)) { - _logger.error("Exception in SlowConsumersDetection " + - "for queue: " + - q.getNameShortString().toString(), e); - //Don't throw exceptions as this will stop the - // house keeping task from running. + config.getPolicy().performPolicy(q); } } - _logger.info("SlowConsumersDetection job completed."); - } - catch (Exception e) - { - _logger.error("SlowConsumersDetection job failed: " + e.getMessage(), e); - } - catch (Error e) - { - _logger.error("SlowConsumersDetection job failed with error: " + e.getMessage(), e); + catch (Exception e) + { + _logger.error("Exception in SlowConsumersDetection " + + "for queue: " + + q.getNameShortString().toString(), e); + //Don't throw exceptions as this will stop the + // house keeping task from running. + } } + _logger.info("SlowConsumersDetection job completed."); } public long getDelay() |
