From c7077670daca3b689ed75e4bf71dad0483af8473 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 19 Aug 2013 13:27:40 +0000
Subject: [PATCH] Avoided possible costly thread leaks in ReplicationServerDomain.

---
 opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java |   33 +++++++++++++++------------------
 1 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java b/opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java
index eb678b0..1a5e7bf 100644
--- a/opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java
+++ b/opends/src/server/org/opends/server/replication/server/MonitoringPublisher.java
@@ -91,8 +91,7 @@
   {
     if (debugEnabled())
     {
-      TRACER.debugInfo("Monitoring publisher starting for dn "
-          + replicationServerDomain.getBaseDn());
+      TRACER.debugInfo(getMessage("Monitoring publisher starting."));
     }
 
     try
@@ -134,16 +133,12 @@
     }
     catch (InterruptedException e)
     {
-      TRACER.debugInfo("Monitoring publisher for dn "
-          + replicationServerDomain.getBaseDn()
-          + " in RS " + replicationServerDomain.getLocalRSServerId()
-          + " has been interrupted while sleeping.");
+      TRACER.debugInfo(getMessage(
+          "Monitoring publisher has been interrupted while sleeping."));
     }
 
     done = true;
-    TRACER.debugInfo("Monitoring publisher for dn "
-        + replicationServerDomain.getBaseDn() + " is terminated."
-        + " This is in RS " + replicationServerDomain.getLocalRSServerId());
+    TRACER.debugInfo(getMessage("Monitoring publisher is terminated."));
   }
 
 
@@ -160,9 +155,7 @@
 
       if (debugEnabled())
       {
-        TRACER.debugInfo("Shutting down monitoring publisher for dn "
-            + replicationServerDomain.getBaseDn()
-            + " in RS " + replicationServerDomain.getLocalRSServerId());
+        TRACER.debugInfo(getMessage("Shutting down monitoring publisher."));
       }
     }
   }
@@ -183,9 +176,7 @@
         n++;
         if (n >= FACTOR)
         {
-          TRACER.debugInfo("Interrupting monitoring publisher for dn " +
-            replicationServerDomain.getBaseDn() + " in RS " +
-            replicationServerDomain.getLocalRSServerId());
+          TRACER.debugInfo(getMessage("Interrupting monitoring publisher."));
           interrupt();
         }
       }
@@ -203,11 +194,17 @@
   {
     if (debugEnabled())
     {
-      TRACER.debugInfo("Monitoring publisher for dn " +
-        replicationServerDomain.getBaseDn() +
-        " changing period value to " + period);
+      TRACER.debugInfo(getMessage(
+          "Monitoring publisher changing period value to " + period));
     }
 
     this.period = period;
   }
+
+  private String getMessage(String message)
+  {
+    return "In RS " + replicationServerDomain.getLocalRSServerId()
+        + ", for base dn " + replicationServerDomain.getBaseDn() + ": "
+        + message;
+  }
 }

--
Gitblit v1.10.0