You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2007/04/09 12:56:21 UTC

svn commit: r526707 - in /jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server: RemoteAdapterFactory.java ServerAdapterFactory.java ServerObject.java

Author: jukka
Date: Mon Apr  9 03:56:20 2007
New Revision: 526707

URL: http://svn.apache.org/viewvc?view=rev&rev=526707
Log:
JCR-781: Allow custom socket factories and port number in the RMI server.

Modified:
    jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/RemoteAdapterFactory.java
    jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerAdapterFactory.java
    jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerObject.java

Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/RemoteAdapterFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/RemoteAdapterFactory.java?view=diff&rev=526707&r1=526706&r2=526707
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/RemoteAdapterFactory.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/RemoteAdapterFactory.java Mon Apr  9 03:56:20 2007
@@ -17,6 +17,8 @@
 package org.apache.jackrabbit.rmi.server;
 
 import java.rmi.RemoteException;
+import java.rmi.server.RMIClientSocketFactory;
+import java.rmi.server.RMIServerSocketFactory;
 
 import javax.jcr.Item;
 import javax.jcr.NamespaceRegistry;
@@ -87,6 +89,30 @@
  * @see org.apache.jackrabbit.rmi.server.ServerObject
  */
 public interface RemoteAdapterFactory {
+
+    /**
+     * Returns the RMI port to use.
+     *
+     * @return RMI port number
+     * @since 1.3
+     */
+    int getPort();
+
+    /**
+     * Returns the RMI client socket factory to use.
+     *
+     * @return RMI client socket factory
+     * @since 1.3
+     */
+    RMIClientSocketFactory getClientSocketFactory(); 
+
+    /**
+     * Returns the RMI server socket factory to use.
+     *
+     * @return RMI server socket factory
+     * @since 1.3
+     */
+    RMIServerSocketFactory getServerSocketFactory();
 
     /**
      * Returns a remote adapter for the given local repository.

Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerAdapterFactory.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerAdapterFactory.java?view=diff&rev=526707&r1=526706&r2=526707
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerAdapterFactory.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerAdapterFactory.java Mon Apr  9 03:56:20 2007
@@ -17,6 +17,9 @@
 package org.apache.jackrabbit.rmi.server;
 
 import java.rmi.RemoteException;
+import java.rmi.server.RMIClientSocketFactory;
+import java.rmi.server.RMIServerSocketFactory;
+import java.rmi.server.RMISocketFactory;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -99,14 +102,13 @@
     private static final int DEFAULT_BUFFER_SIZE = 100;
 
     /** The buffer size of iterators created by this factory. */
-    private int bufferSize;
+    private int bufferSize = DEFAULT_BUFFER_SIZE;
 
-    /**
-     * Creates a server adapter factory with the default iterator buffer size.
-     */
-    public ServerAdapterFactory() {
-        bufferSize = DEFAULT_BUFFER_SIZE;
-    }
+    private int port = 0;
+
+    private RMIClientSocketFactory clientSocketFactory = null;
+
+    private RMIServerSocketFactory serverSocketFactory = null;
 
     /**
      * Returns the iterator buffer size.
@@ -124,6 +126,82 @@
      */
     public void setBufferSize(int bufferSize) {
         this.bufferSize = bufferSize;
+    }
+
+    /**
+     * Returns the RMI port to use.
+     *
+     * @return RMI port number
+     * @since 1.3
+     */
+    public int getPort() {
+        return port;
+    }
+
+    /**
+     * Sets the RMI port to use.
+     *
+     * @param port RMI port number
+     * @since 1.3
+     */
+    public void setPort(int port) {
+        this.port = port;
+    }
+
+    /**
+     * Returns the RMI client socket factory to use.
+     *
+     * @return RMI client socket factory
+     * @since 1.3
+     */
+    public RMIClientSocketFactory getClientSocketFactory() {
+        RMIClientSocketFactory factory = clientSocketFactory;
+        if (factory == null) {
+            factory = RMISocketFactory.getSocketFactory();
+        }
+        if (factory == null) {
+            factory = RMISocketFactory.getDefaultSocketFactory();
+        }
+        return factory;
+    }
+
+    /**
+     * Sets the RMI client socket factory to use.
+     *
+     * @param factory RMI client socket factory,
+     *                or <code>null</code> to use the default
+     * @since 1.3
+     */
+    public void setClientSocketFactory(RMIClientSocketFactory factory) {
+        clientSocketFactory = factory;
+    }
+
+    /**
+     * Returns the RMI server socket factory to use.
+     *
+     * @return RMI server socket factory
+     * @since 1.3
+     */
+    public RMIServerSocketFactory getServerSocketFactory() {
+        RMIServerSocketFactory factory = serverSocketFactory;
+        if (factory == null) {
+            factory = RMISocketFactory.getSocketFactory();
+        }
+        if (factory == null) {
+            factory = RMISocketFactory.getDefaultSocketFactory();
+        }
+        return factory;
+    }
+
+    /**
+     * Sets the RMI server socket factory to use.
+     *
+     * @param factory RMI server socket factory,
+     *                or <code>null</code> to use the default
+     * @since 1.3
+     */
+    public void setServerSocketFactory(RMIServerSocketFactory factory) {
+        serverSocketFactory = factory;
     }
 
     /**

Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerObject.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerObject.java?view=diff&rev=526707&r1=526706&r2=526707
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerObject.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/ServerObject.java Mon Apr  9 03:56:20 2007
@@ -68,6 +68,9 @@
      */
     protected ServerObject(RemoteAdapterFactory factory)
             throws RemoteException {
+        super(factory.getPort(),
+                factory.getClientSocketFactory(),
+                factory.getServerSocketFactory());
         this.factory = factory;
     }