summaryrefslogtreecommitdiff
path: root/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2010-05-31 16:01:24 +0000
committerRobert Gemmell <robbie@apache.org>2010-05-31 16:01:24 +0000
commit71098e50d6a4685205abc4937586ae414b4cee8d (patch)
treef56eab9d2a34cec6f272739c9f1b0780c5c26bf5 /java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
parent68d06cb9f5f10f3679ae1fc3c7bde86881862c38 (diff)
downloadqpid-python-71098e50d6a4685205abc4937586ae414b4cee8d.tar.gz
QPID-2581: Update configuration manager to allow multiple plugins to handle the same configuration
Applied patch from Andrew Kennedy <andrew.international@gmail.com> git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@949779 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java29
1 files changed, 22 insertions, 7 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
index 2542e1e94d..44d178602f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
@@ -159,7 +159,9 @@ public class VirtualHostImpl implements Accessable, VirtualHost
}
/**
- * Abstract MBean class. This has some of the methods implemented from management intrerface for exchanges. Any
+ * Virtual host JMX MBean class.
+ *
+ * This has some of the methods implemented from management intrerface for exchanges. Any
* implementaion of an Exchange MBean should extend this class.
*/
public class VirtualHostMBean extends AMQManagedObject implements ManagedVirtualHost
@@ -183,10 +185,7 @@ public class VirtualHostImpl implements Accessable, VirtualHost
{
return VirtualHostImpl.this;
}
-
- } // End of MBean class
-
-
+ }
public VirtualHostImpl(IApplicationRegistry appRegistry, VirtualHostConfiguration hostConfig) throws Exception
{
@@ -340,9 +339,25 @@ public class VirtualHostImpl implements Accessable, VirtualHost
{
try
{
- VirtualHostHouseKeepingPlugin plugin =
- plugins.get(pluginName).newInstance(this);
+ VirtualHostPlugin plugin = plugins.get(pluginName).newInstance(this);
+
+ TimeUnit units = TimeUnit.MILLISECONDS;
+ if (plugin.getTimeUnit() != null)
+ {
+ try
+ {
+ units = TimeUnit.valueOf(plugin.getTimeUnit());
+ }
+ catch (IllegalArgumentException iae)
+ {
+ _logger.warn("Plugin:" + pluginName +
+ " provided an illegal TimeUnit value:"
+ + plugin.getTimeUnit());
+ // Warn and use default of millseconds
+ // Should not occur in a well behaved plugin
+ }
+ }
_houseKeepingTasks.scheduleAtFixedRate(plugin, plugin.getDelay() / 2,
plugin.getDelay(), plugin.getTimeUnit());