in commons-jcs3-core/src/main/java/org/apache/commons/jcs3/auxiliary/remote/server/RemoteCacheServerFactory.java [157:223]
protected static void keepAlive(final String registryHost, final int registryPort, final ICacheEventLogger cacheEventLogger)
{
final String namingURL = RemoteUtils.getNamingURL(registryHost, registryPort, serviceName);
log.debug( "looking up server {0}", namingURL );
try
{
final Object obj = Naming.lookup( namingURL );
// Successful connection to the remote server.
final String message = "RMI registry looks fine. Found [" + obj + "] in registry [" + namingURL + "]";
if ( cacheEventLogger != null )
{
cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "Naming.lookup", message );
}
log.debug( message );
}
catch ( final Exception ex )
{
// Failed to connect to the remote server.
final 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() );
}
registry = RemoteUtils.createRegistry(registryPort);
if ( cacheEventLogger != null )
{
if (registry != null)
{
cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "createRegistry",
"Successfully created registry [" + serviceName + "]." );
}
else
{
cacheEventLogger.logError( "RegistryKeepAliveRunner", "createRegistry",
"Could not start registry [" + serviceName + "]." );
}
}
}
try
{
registerServer(serviceName, remoteCacheServer);
final String message = "Successfully rebound server to registry [" + serviceName + "].";
if ( cacheEventLogger != null )
{
cacheEventLogger.logApplicationEvent( "RegistryKeepAliveRunner", "registerServer", message );
}
log.info( message );
}
catch ( final RemoteException e )
{
final String message = "Could not rebind server to registry [" + serviceName + "].";
log.error( message, e );
if ( cacheEventLogger != null )
{
cacheEventLogger.logError( "RegistryKeepAliveRunner", "registerServer", message + ":"
+ e.getMessage() );
}
}
}