diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2010-06-02 16:41:22 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2010-06-02 16:41:22 +0000 |
| commit | 9183853b271b99e357677bd13bb494b5e889c329 (patch) | |
| tree | 6f44237705f45b42b382f53083ec8f646ee9d5ca /java/broker-plugins | |
| parent | 5beb23a46083a25c92fb61bd7116c5673b473d66 (diff) | |
| download | qpid-python-9183853b271b99e357677bd13bb494b5e889c329.tar.gz | |
QPID-1447 : Add Logging to SCD. Update PluginManager to expose the logging packages via OSGi.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@950636 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker-plugins')
5 files changed, 68 insertions, 10 deletions
diff --git a/java/broker-plugins/experimental/slowconsumerdetection/MANIFEST.MF b/java/broker-plugins/experimental/slowconsumerdetection/MANIFEST.MF index 3b2fe3d37d..3d3d91381b 100644 --- a/java/broker-plugins/experimental/slowconsumerdetection/MANIFEST.MF +++ b/java/broker-plugins/experimental/slowconsumerdetection/MANIFEST.MF @@ -15,6 +15,8 @@ Import-Package: org.osgi.framework, org.apache.qpid.server.registry, org.apache.qpid.server.plugins, org.apache.qpid.server.protocol, + org.apache.qpid.server.logging, + org.apache.qpid.server.logging.actors, org.apache.qpid.protocol, org.apache.qpid.framing, org.apache.qpid, diff --git a/java/broker-plugins/experimental/slowconsumerdetection/build.xml b/java/broker-plugins/experimental/slowconsumerdetection/build.xml index e93b5e89de..aee7162400 100644 --- a/java/broker-plugins/experimental/slowconsumerdetection/build.xml +++ b/java/broker-plugins/experimental/slowconsumerdetection/build.xml @@ -29,4 +29,46 @@ nn - or more contributor license agreements. See the NOTICE file <target name="bundle" depends="bundle-tasks"/> + + + <target name="precompile" depends="gen_logging"/> + + + <property name="velocity.properties.dir" value="src/main/java/org/apache/qpid/server/virtualhost/plugin/logging"/> + + <property name="gentools.home" location="${project.root}/../gentools" /> + + <property name="generated.package" value="org/apache/qpid/server/virtualhost/plugin/logging" /> + <property name="generated.dir" location="${module.precompiled}/${generated.package}" /> + <property name="velocity.compile.dir" value="${build.scratch}/broker/velocity"/> + <property name="velocity.timestamp" location="${generated.dir}/velocity.timestamp" /> + + + <target name="check_velocity_deps"> + <uptodate property="velocity.notRequired" targetfile="${velocity.timestamp}"> + <srcfiles dir="${velocity.properties.dir}" includes="LogMessages**" /> + <srcfiles dir="${project.root}/broker/src/velocity/" includes="**/*.java **/*.vm" /> + </uptodate> + </target> + + + + + <target name="gen_logging" depends="check_velocity_deps" unless="velocity.notRequired"> + <mkdir dir="${generated.dir}"/> + <java classname="org.apache.qpid.server.logging.GenerateLogMessages" fork="true" dir="${gentools.home}/src" failonerror="true"> + <arg line="-j -o ${generated.dir} -t ${project.root}/broker/src/velocity/templates/org/apache/qpid/server/logging/messages -r org.apache.qpid.server.virtualhost.plugin.logging.LogMessages"/> + <classpath> + <pathelement path="${project.root}/broker-plugins/experimental/slowconsumerdetection/src/main/java"/> + <pathelement path="${velocity.compile.dir}" /> + <fileset dir="${project.root}/lib"> + <include name="**/*.jar"/> + </fileset> + <pathelement path="${gentools.home}/lib/velocity-1.4.jar" /> + </classpath> + </java> + <touch file="${velocity.timestamp}" /> + </target> + + </project> 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 dac5fa58f8..5aba110462 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 @@ -28,6 +28,7 @@ import org.apache.qpid.server.configuration.plugin.SlowConsumerDetectionQueueCon import org.apache.qpid.server.configuration.plugins.ConfigurationPlugin; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.virtualhost.VirtualHost; +import org.apache.qpid.server.virtualhost.plugin.logging.SlowConsumerDetectionMessages; import org.apache.qpid.server.virtualhost.plugins.VirtualHostHouseKeepingPlugin; import org.apache.qpid.server.virtualhost.plugins.VirtualHostPluginFactory; @@ -73,10 +74,11 @@ class SlowConsumerDetection extends VirtualHostHouseKeepingPlugin @Override public void execute() { - _logger.info("Starting the SlowConsumersDetection job"); + SlowConsumerDetectionMessages.SCD_RUNNING(); + for (AMQQueue q : _virtualhost.getQueueRegistry().getQueues()) { - _logger.debug("Checking consumer status for queue: " + q.getName()); + SlowConsumerDetectionMessages.SCD_CHECKING_QUEUE(q.getName()); try { SlowConsumerDetectionQueueConfiguration config = @@ -96,7 +98,8 @@ class SlowConsumerDetection extends VirtualHostHouseKeepingPlugin // house keeping task from running. } } - _logger.info("SlowConsumersDetection job completed."); + + SlowConsumerDetectionMessages.SCD_COMPLETE(); } public long getDelay() @@ -113,7 +116,7 @@ class SlowConsumerDetection extends VirtualHostHouseKeepingPlugin * Check the depth,messageSize,messageAge,messageCount values for this q * * @param q the queue to check - * @param config + * @param config the queue configuration to compare against the queue state * * @return true if the queue has reached a threshold. */ @@ -127,12 +130,12 @@ class SlowConsumerDetection extends VirtualHostHouseKeepingPlugin (config.getMessageAge() != 0 && q.getOldestMessageArrivalTime() >= config.getMessageAge())) { - if (_logger.isInfoEnabled()) + if (_logger.isDebugEnabled()) { - _logger.info("Detected Slow Consumer on Queue(" + q.getName() + ")"); - _logger.info("Queue Count:" + q.getMessageCount() + ":" + config.getMessageCount()); - _logger.info("Queue Depth:" + q.getQueueDepth() + ":" + config.getDepth()); - _logger.info("Queue Arrival:" + q.getOldestMessageArrivalTime() + ":" + config.getMessageAge()); + _logger.debug("Detected Slow Consumer on Queue(" + q.getName() + ")"); + _logger.debug("Queue Count:" + q.getMessageCount() + ":" + config.getMessageCount()); + _logger.debug("Queue Depth:" + q.getQueueDepth() + ":" + config.getDepth()); + _logger.debug("Queue Arrival:" + q.getOldestMessageArrivalTime() + ":" + config.getMessageAge()); } return true; diff --git a/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/logging/LogMessages.properties b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/logging/LogMessages.properties new file mode 100644 index 0000000000..cdd4461ee7 --- /dev/null +++ b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/logging/LogMessages.properties @@ -0,0 +1,8 @@ +SCD=SlowConsumerDetection +SCD_RUNNING = SCD-1001 : Running +SCD_COMPLETE = SCD-1002 : Complete +SCD_CHECKING_QUEUE = SCD-1003 : Checking Status of Queue {0} + +TDP=TopicDeletePolicy +TDP_DELETING_QUEUE = TDP-1001 : Deleting Queue +TDP_DISCONNECTING = TDP-1002 : Disconnecting Session
\ No newline at end of file diff --git a/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java index e9b2d02f89..3ddccb3497 100644 --- a/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java +++ b/java/broker-plugins/experimental/slowconsumerdetection/src/main/java/org/apache/qpid/server/virtualhost/plugin/policies/TopicDeletePolicy.java @@ -28,9 +28,10 @@ import org.apache.qpid.server.binding.Binding; import org.apache.qpid.server.configuration.plugin.SlowConsumerDetectionPolicyConfiguration; import org.apache.qpid.server.configuration.plugins.ConfigurationPlugin; import org.apache.qpid.server.exchange.TopicExchange; -import org.apache.qpid.server.plugins.Plugin; +import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.virtualhost.plugin.logging.TopicDeletePolicyMessages; import org.apache.qpid.slowconsumerdetection.policies.SlowConsumerPolicyPlugin; import org.apache.qpid.slowconsumerdetection.policies.SlowConsumerPolicyPluginFactory; @@ -88,6 +89,7 @@ public class TopicDeletePolicy implements SlowConsumerPolicyPlugin try { + CurrentActor.get().message(owner.getLogSubject(),TopicDeletePolicyMessages.TDP_DISCONNECTING()); // Close the consumer . this will cause autoDelete Queues to be purged owner.getConnectionModel(). closeSession(owner, AMQConstant.RESOURCE_ERROR, @@ -96,6 +98,7 @@ public class TopicDeletePolicy implements SlowConsumerPolicyPlugin // Actively delete non autoDelete queues if deletePersistent is set if (!q.isAutoDelete() && _configuration.deletePersistent()) { + CurrentActor.get().message(q.getLogSubject(), TopicDeletePolicyMessages.TDP_DELETING_QUEUE()); q.delete(); } |
