blob: d915c20114d00c970a6421c5196e0ee931065b0a [file] [log] [blame]
package org.apache.jcs.auxiliary.remote;
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License")
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.InputStream;
import java.io.IOException;
import java.rmi.RemoteException;
import java.rmi.RMISecurityManager;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.util.Enumeration;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* Description of the Class
*
*/
public class RemoteUtils
{
private final static Log log =
LogFactory.getLog( RemoteUtils.class );
/** Constructor for the RemoteUtils object */
private RemoteUtils() { }
/**
* Creates and exports a registry on the specified port of the local host.
*/
public static int createRegistry( int port )
throws RemoteException
{
log.debug( "createRegistry> setting security manager" );
System.setSecurityManager( new RMISecurityManager() );
if ( port < 1024 )
{
port = Registry.REGISTRY_PORT;
}
log.debug( "createRegistry> creating registry" );
LocateRegistry.createRegistry( port );
return port;
}
/** Description of the Method */
public static Properties loadProps( String propFile )
throws IOException
{
InputStream is = RemoteUtils.class.getResourceAsStream( propFile );
Properties props = new Properties();
try
{
props.load( is );
if ( log.isDebugEnabled() )
{
log.debug( "props.size=" + props.size() );
}
if ( log.isDebugEnabled() )
{
if ( props != null )
{
Enumeration enum = props.keys();
StringBuffer buf = new StringBuffer();
while( enum.hasMoreElements() )
{
String key = (String)enum.nextElement();
buf.append( "\n" + key + " = " + props.getProperty(key) );
}
log.debug( buf.toString() );
}
else
{
log.debug( "props is null" );
}
}
}
catch ( Exception ex )
{
log.error( "Error loading remote properties, for file name [" + propFile + "]", ex );
// ignore;
}
finally
{
if ( is != null )
{
is.close();
}
}
return props;
}
}