From 83ceb6afa10a13853a52e6f5e564d73c96d0e00d Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Tue, 18 Sep 2007 21:28:58 +0000
Subject: [PATCH] Fix a problem that could prevent monitor providers that support periodic updates from being started.  Also, add a layer of protection against uncaught exceptions from the MonitorProvider.updateMonitorData() method.

---
 opends/src/server/org/opends/server/core/MonitorConfigManager.java |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/MonitorConfigManager.java b/opends/src/server/org/opends/server/core/MonitorConfigManager.java
index 5b521a9..afe4761 100644
--- a/opends/src/server/org/opends/server/core/MonitorConfigManager.java
+++ b/opends/src/server/org/opends/server/core/MonitorConfigManager.java
@@ -126,6 +126,10 @@
           MonitorProvider<? extends MonitorProviderCfg> monitor =
                loadMonitor(className, monitorConfig);
           monitors.put(monitorConfig.dn(), monitor);
+          if (monitor.getUpdateInterval() > 0)
+          {
+            monitor.start();
+          }
           DirectoryServer.registerMonitorProvider(monitor);
         }
         catch (InitializationException ie)
@@ -207,6 +211,10 @@
     if (resultCode == ResultCode.SUCCESS)
     {
       monitors.put(configuration.dn(), monitor);
+      if (monitor.getUpdateInterval() > 0)
+      {
+        monitor.start();
+      }
       DirectoryServer.registerMonitorProvider(monitor);
     }
 
@@ -350,6 +358,10 @@
     if (resultCode == ResultCode.SUCCESS)
     {
       monitors.put(configuration.dn(), monitor);
+      if (monitor.getUpdateInterval() > 0)
+      {
+        monitor.start();
+      }
       DirectoryServer.registerMonitorProvider(monitor);
     }
 

--
Gitblit v1.10.0