From 3897599d586111c801ce80e8ba111d5e911776c8 Mon Sep 17 00:00:00 2001
From: Nicolas Capponi <nicolas.capponi@forgerock.com>
Date: Wed, 09 Dec 2015 17:00:56 +0000
Subject: [PATCH] OPENDJ-2508 Successive restarts of the commons audit CSV logger takes more and more time

---
 opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
index 4ab8fb4..08c6245 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/AbstractLogger.java
@@ -250,7 +250,6 @@
         isJavaClassAcceptable(config, unacceptableReasons);
   }
 
-  /** {@inheritDoc} */
   @Override
   public boolean isConfigurationChangeAcceptable(C config,
       List<LocalizableMessage> unacceptableReasons)
@@ -259,13 +258,21 @@
         isJavaClassAcceptable(config, unacceptableReasons);
   }
 
-  /** {@inheritDoc} */
   @Override
   public ConfigChangeResult applyConfigurationAdd(C config)
   {
-    final ConfigChangeResult ccr = new ConfigChangeResult();
+    ConfigChangeResult ccr = applyConfigurationAdd(config);
+    if (ccr.getResultCode() == ResultCode.SUCCESS)
+    {
+      config.addChangeListener((ConfigurationChangeListener) this);
+    }
 
-    config.addChangeListener((ConfigurationChangeListener) this);
+    return applyConfigurationAdd0(config);
+  }
+
+  private ConfigChangeResult applyConfigurationAdd0(C config)
+  {
+    final ConfigChangeResult ccr = new ConfigChangeResult();
 
     if(config.isEnabled())
     {
@@ -303,7 +310,6 @@
     return null;
   }
 
-  /** {@inheritDoc} */
   @Override
   public ConfigChangeResult applyConfigurationChange(C config)
   {
@@ -314,8 +320,8 @@
     {
       if (config.isEnabled())
       {
-        // Needs to be added and enabled.
-        return applyConfigurationAdd(config);
+        // Needs to be added and enabled
+        return applyConfigurationAdd0(config);
       }
     }
     else

--
Gitblit v1.10.0