On 29 June 2014 14:58, <t...@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-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org