From cfccd522316e13fffe40abd327a7179ffd933ec7 Mon Sep 17 00:00:00 2001
From: lutoff <lutoff@localhost>
Date: Tue, 03 Oct 2006 06:59:43 +0000
Subject: [PATCH] In the previous implementation, each time we had a configuration change, the JMX connector **AND** the RMI registry was closed.

---
 opendj-sdk/opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java b/opendj-sdk/opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java
index f635fb4..9d359e4 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/protocols/jmx/RmiConnector.java
@@ -30,7 +30,6 @@
 import java.rmi.RemoteException;
 import java.rmi.registry.LocateRegistry;
 import java.rmi.registry.Registry;
-import java.rmi.server.RMISocketFactory;
 import java.util.HashMap;
 
 import javax.net.ssl.SSLSocketFactory;
@@ -225,8 +224,7 @@
       if (registry == null)
       {
         rmiSsf = new OpendsRmiServerSocketFactory();
-        registry = LocateRegistry.createRegistry(registryPort,
-            RMISocketFactory.getDefaultSocketFactory(), rmiSsf);
+        registry = LocateRegistry.createRegistry(registryPort, null, rmiSsf);
       }
     }
     catch (RemoteException re)
@@ -421,8 +419,10 @@
    *            Indicates whether any established client connections
    *            associated with the connection handler should also be
    *            closed.
+   * @param stopRegistry Indicates if the RMI registry should be stopped
    */
-  public void finalizeConnectionHandler(boolean closeConnections)
+  public void finalizeConnectionHandler(
+      boolean closeConnections, boolean stopRegistry)
   {
     if (closeConnections)
     {
@@ -476,17 +476,21 @@
       assert debugException(CLASS_NAME, "finalizeConnectionHandler", e);
     }
 
-    //
-    // Close the socket
-    try
+    if (stopRegistry)
     {
-      rmiSsf.close();
+      //
+      // Close the socket
+      try
+      {
+        rmiSsf.close();
+      }
+      catch (IOException e)
+      {
+        // TODO Log an error message
+        assert debugException(CLASS_NAME, "finalizeConnectionHandler", e);
+      }
+      registry = null;
     }
-    catch (IOException e)
-    {
-      // TODO Log an error message
-      assert debugException(CLASS_NAME, "finalizeConnectionHandler", e);
-    }
-    registry = null;
+
   }
 }

--
Gitblit v1.10.0