From e90a07eba1c0ccb57203fb7f038d74657c21d8f1 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Sun, 16 Jul 2006 03:44:40 +0000
Subject: [PATCH] Update the alert handler API to add a finalizeAlertHandler method that should be called whenever the alert handler is taken out of service to ensure that it releases any resources that it might have had open.

---
 opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java       |    7 +++++++
 opendj-sdk/opends/src/server/org/opends/server/api/AlertHandler.java           |    8 ++++++++
 opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java |   13 +++++++++++++
 3 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/AlertHandler.java b/opendj-sdk/opends/src/server/org/opends/server/api/AlertHandler.java
index 2b53e7e..1902d38 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/AlertHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/AlertHandler.java
@@ -65,6 +65,14 @@
 
 
   /**
+   * Performs any necessary cleanup that may be necessary when this
+   * alert handler is finalized.
+   */
+  public void finalizeAlertHandler();
+
+
+
+  /**
    * Sends an alert notification based on the provided information.
    *
    * @param  generator     The alert generator that created the alert.
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
index e014add..736053d 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -6728,6 +6728,13 @@
     }
 
 
+    // Shut down all of the alert handlers.
+    for (AlertHandler alertHandler : directoryServer.alertHandlers)
+    {
+      alertHandler.finalizeAlertHandler();
+    }
+
+
     // Deregister all of the JMX MBeans.
     Set mBeanSet = directoryServer.mBeanServer.queryMBeans(null, null);
     for (Object o : mBeanSet)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java b/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
index 2864be8..ea462d8 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/extensions/JMXAlertHandler.java
@@ -167,6 +167,19 @@
 
 
   /**
+   * Performs any necessary cleanup that may be necessary when this
+   * alert handler is finalized.
+   */
+  public void finalizeAlertHandler()
+  {
+    assert debugEnter(CLASS_NAME, "finalizeAlertHandler");
+
+    // No action is required.
+  }
+
+
+
+  /**
    * Retrieves the JMX object name for this JMX alert handler.
    *
    * @return  The JMX object name for this JMX alert handler.

--
Gitblit v1.10.0