You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sebb <se...@gmail.com> on 2014/06/29 16:08:14 UTC

Re: svn commit: r1606505 - in /commons/proper/jcs/trunk/commons-jcs-core/src: main/java/org/apache/commons/jcs/auxiliary/remote/ main/java/org/apache/commons/jcs/auxiliary/remote/server/ test/java/org/apache/commons/jcs/auxiliary/remote/

On 29 June 2014 14:58,  <tv...@apache.org> wrote:
> Author: tv
> Date: Sun Jun 29 13:58:27 2014
> New Revision: 1606505
>
> URL: http://svn.apache.org/r1606505
> Log:
> Some more code cleanup, remove duplicate code etc.
>
> Modified:
>     commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java
>     commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java
>     commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java
>     commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java
>     commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java
>     commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtilsUnitTest.java
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheListener.java Sun Jun 29 13:58:27 2014
> @@ -52,9 +52,6 @@ public abstract class AbstractRemoteCach
>      /** The cached name of the local host. The remote server gets this for logging purposes. */
>      private static String localHostName = null;
>
> -    /** Has this client been shutdown. */
> -    boolean disposed = false; // TODO not used in this class; move to RemoteCacheListener?
> -
>      /**
>       * The cache manager used to put items in different regions. This is set lazily and should not
>       * be sent to the remote server.
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheListener.java Sun Jun 29 13:58:27 2014
> @@ -48,6 +48,9 @@ public class RemoteCacheListener<K, V>
>      /** The logger */
>      private static final Log log = LogFactory.getLog( RemoteCacheListener.class );
>
> +    /** Has this client been shutdown. */
> +    private boolean disposed = false;
> +
>      /**
>       * Only need one since it does work for all regions, just reference by multiple region names.
>       * <p>
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtils.java Sun Jun 29 13:58:27 2014
> @@ -53,10 +53,8 @@ public class RemoteUtils
>       * <p>
>       * @param port
>       * @return the registry
> -     * @throws RemoteException
>       */
>      public static Registry createRegistry( int port )
> -        throws RemoteException
>      {
>         Registry registry = null;
>
> @@ -206,4 +204,18 @@ public class RemoteUtils
>              }
>          }
>      }
> +
> +    /**
> +     * Get the naming url used for RMI registration
> +     *
> +     * @param registryHost
> +     * @param registryPort
> +     * @param serviceName
> +     * @return

Does this need @since marker?

> +     */
> +    public static String getNamingURL(final String registryHost, final int registryPort, final String serviceName)
> +    {
> +        final String registryURL = "//" + registryHost + ":" + registryPort + "/" + serviceName;
> +        return registryURL;
> +    }
>  }
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RegistryKeepAliveRunner.java Sun Jun 29 13:58:27 2014
> @@ -19,16 +19,17 @@ package org.apache.commons.jcs.auxiliary
>   * under the License.
>   */
>
> +import org.apache.commons.jcs.auxiliary.remote.RemoteUtils;
>  import org.apache.commons.jcs.engine.logging.behavior.ICacheEventLogger;
>  import org.apache.commons.logging.Log;
>  import org.apache.commons.logging.LogFactory;
>
>  import java.rmi.Naming;
>  import java.rmi.RemoteException;
> -import java.rmi.registry.LocateRegistry;
> +import java.rmi.registry.Registry;
>
>  /**
> - * This class tries to keep the resitry alive. If if is able to create a registry, it will also
> + * This class tries to keep the registry alive. If if is able to create a registry, it will also
>   * rebind the remote cache server.
>   */
>  public class RegistryKeepAliveRunner
> @@ -37,15 +38,12 @@ public class RegistryKeepAliveRunner
>      /** The logger */
>      private static final Log log = LogFactory.getLog( RegistryKeepAliveRunner.class );
>
> -    /** Hostname of the registry */
> -    private String registryHost;
> +    /** The URL of the service to look for. */
> +    private String namingURL;
>
>      /** the port on which to start the registry */
>      private int registryPort;
>
> -    /** The name of the service to look for. */
> -    private String serviceName;
> -
>      /** An optional event logger */
>      private ICacheEventLogger cacheEventLogger;
>
> @@ -56,9 +54,8 @@ public class RegistryKeepAliveRunner
>       */
>      public RegistryKeepAliveRunner( String registryHost, int registryPort, String serviceName )
>      {
> -        this.registryHost = registryHost;
> +        this.namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName);
>          this.registryPort = registryPort;
> -        this.serviceName = serviceName;
>      }
>
>      /**
> @@ -78,17 +75,16 @@ public class RegistryKeepAliveRunner
>       */
>      protected void checkAndRestoreIfNeeded()
>      {
> -        String registry = "//" + registryHost + ":" + registryPort + "/" + serviceName;
>          if ( log.isDebugEnabled() )
>          {
> -            log.debug( "looking up server " + registry );
> +            log.debug( "looking up server " + namingURL );
>          }
>          try
>          {
> -            Object obj = Naming.lookup( registry );
> +            Object obj = Naming.lookup( namingURL );
>
>              // Successful connection to the remote server.
> -            String message = "RMI registry looks fine.  Found [" + obj + "] in registry [" + registry + "]";
> +            String message = "RMI registry looks fine.  Found [" + obj + "] in registry [" + namingURL + "]";
>              if ( cacheEventLogger != null )
>              {
>                  cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "Naming.lookup", message );
> @@ -102,14 +98,14 @@ public class RegistryKeepAliveRunner
>          catch ( Exception ex )
>          {
>              // Failed to connect to the remote server.
> -            String message = "Problem finding server at [" + registry
> +            String message = "Problem finding server at [" + namingURL
>                  + "].  Will attempt to start registry and rebind.";
>              log.error( message, ex );
>              if ( cacheEventLogger != null )
>              {
>                  cacheEventLogger.logError( "RegistryKeepAliveRunner", "Naming.lookup", message + ":" + ex.getMessage() );
>              }
> -            createAndRegister( registry );
> +            createAndRegister( namingURL );
>          }
>      }
>
> @@ -121,7 +117,6 @@ public class RegistryKeepAliveRunner
>      protected void createAndRegister( String registry )
>      {
>          createReqistry( registry );
> -
>          registerServer( registry );
>      }
>
> @@ -132,22 +127,19 @@ public class RegistryKeepAliveRunner
>       */
>      protected void createReqistry( String registry )
>      {
> -        try
> +        Registry reg = RemoteUtils.createRegistry(registryPort);
> +
> +        if ( cacheEventLogger != null )
>          {
> -            LocateRegistry.createRegistry( registryPort );
> -            String message = "Successfully created registry [" + registry + "].";
> -            if ( cacheEventLogger != null )
> +            if (reg != null)
>              {
> -                cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "createRegistry", message );
> +                cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "createRegistry",
> +                        "Successfully created registry [" + registry + "]." );
>              }
> -        }
> -        catch ( RemoteException e )
> -        {
> -            String message = "Could not start registry [" + registry + "].";
> -            log.error( message, e );
> -            if ( cacheEventLogger != null )
> +            else
>              {
> -                cacheEventLogger.logError( "RegistryKeepAliveRunner", "createRegistry", message + ":" + e.getMessage() );
> +                cacheEventLogger.logError( "RegistryKeepAliveRunner", "createRegistry",
> +                        "Could not start registry [" + registry + "]." );
>              }
>          }
>      }
> @@ -162,7 +154,7 @@ public class RegistryKeepAliveRunner
>          try
>          {
>              // try to rebind anyway
> -            RemoteCacheServerFactory.registerServer( registryHost, registryPort, serviceName );
> +            RemoteCacheServerFactory.registerServer( registry, RemoteCacheServerFactory.getRemoteCacheServer() );
>              String message = "Successfully rebound server to registry [" + registry + "].";
>              if ( cacheEventLogger != null )
>              {
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/server/RemoteCacheServerFactory.java Sun Jun 29 13:58:27 2014
> @@ -35,6 +35,7 @@ import java.io.Serializable;
>  import java.net.MalformedURLException;
>  import java.rmi.Naming;
>  import java.rmi.NotBoundException;
> +import java.rmi.Remote;
>  import java.rmi.RemoteException;
>  import java.rmi.registry.Registry;
>  import java.rmi.server.RMISocketFactory;
> @@ -180,6 +181,7 @@ public class RemoteCacheServerFactory
>              {
>                  remoteCacheServer = new RemoteCacheServer<Serializable, Serializable>( rcsa );
>              }
> +
>              remoteCacheServer.setCacheEventLogger( cacheEventLogger );
>
>              // START THE REGISTRY
> @@ -189,7 +191,7 @@ public class RemoteCacheServerFactory
>              }
>
>              // REGISTER THE SERVER
> -            registerServer( host, port, serviceName );
> +            registerServer( RemoteUtils.getNamingURL(host, port, serviceName), remoteCacheServer );
>
>              // KEEP THE REGISTRY ALIVE
>              if ( rcsa.isUseRegistryKeepAlive() )
> @@ -261,31 +263,31 @@ public class RemoteCacheServerFactory
>       * Registers the server with the registry. I broke this off because we might want to have code
>       * that will restart a dead registry. It will need to rebind the server.
>       * <p>
> -     * @param host
> -     * @param port
> -     * @param serviceName
> +     * @param namingURL
> +     * @param server
>       * @throws RemoteException
>       */
> -    protected static void registerServer( String host, int port, String serviceName )
> +    protected static void registerServer( String namingURL, Remote server )
>          throws RemoteException
>      {
> -        if ( remoteCacheServer == null )
> +        if ( server == null )
>          {
> -            throw new RemoteException( "Cannot register the server until it is created. Please start the server first." );
> +            throw new RemoteException( "Cannot register the server until it is created." );
>          }
>
>          if ( log.isInfoEnabled() )
>          {
> -            log.info( "Binding server to " + host + ":" + port + " with the name " + serviceName );
> +            log.info( "Binding server to " + namingURL );
>          }
> +
>          try
>          {
> -            Naming.rebind( "//" + host + ":" + port + "/" + serviceName, remoteCacheServer );
> +            Naming.rebind( namingURL, server );
>          }
>          catch ( MalformedURLException ex )
>          {
>              // impossible case.
> -            throw new IllegalArgumentException( ex.getMessage() + "; host=" + host + ", port=" + port );
> +            throw new IllegalArgumentException( ex.getMessage() + "; url=" + namingURL );
>          }
>      }
>
>
> Modified: commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtilsUnitTest.java
> URL: http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtilsUnitTest.java?rev=1606505&r1=1606504&r2=1606505&view=diff
> ==============================================================================
> --- commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtilsUnitTest.java (original)
> +++ commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/auxiliary/remote/RemoteUtilsUnitTest.java Sun Jun 29 13:58:27 2014
> @@ -21,7 +21,7 @@ package org.apache.commons.jcs.auxiliary
>
>  import junit.framework.TestCase;
>
> -import java.rmi.RemoteException;
> +import java.rmi.registry.Registry;
>
>  /**
>   * Simple tests for remote utils. It is difficult to verify most of the things is does.
> @@ -38,13 +38,7 @@ public class RemoteUtilsUnitTest
>       */
>      public void testCreateRegistry()
>      {
> -        try
> -        {
> -            RemoteUtils.createRegistry( 1102 );
> -        }
> -        catch ( RemoteException e )
> -        {
> -            fail("RemoteException unexpected " + e);
> -        }
> +        Registry registry = RemoteUtils.createRegistry( 1102 );
> +        assertNotNull("Registry should not be null", registry);
>      }
>  }
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: svn commit: r1606505 - in /commons/proper/jcs/trunk/commons-jcs-core/src: main/java/org/apache/commons/jcs/auxiliary/remote/ main/java/org/apache/commons/jcs/auxiliary/remote/server/ test/java/org/apache/commons/jcs/auxiliary/remote/

Posted by Thomas Vandahl <tv...@apache.org>.
On 29.06.14 16:08, sebb wrote:
>> +    /**
>> +     * Get the naming url used for RMI registration
>> +     *
>> +     * @param registryHost
>> +     * @param registryPort
>> +     * @param serviceName
>> +     * @return
> 
> Does this need @since marker?

It might. However this would be true for a lot of API changes. Where
shall we start and where shall we end?

Bye, Thomas.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org