String serviceName = args[i++];
String sge_url = args[i++];
try {
Registry reg = null;
if(registryHost == null) {
reg = LocateRegistry.getRegistry();
} else if (registryHost.equals("local")) {
reg = LocateRegistry.createRegistry(registryPort);
logger.info("local registry at port " + registryPort + " created" );
} else if ( registryPort == 0 ) {
logger.info("Get registry from " + registryHost);
reg = LocateRegistry.getRegistry(registryHost);
} else {
logger.info("Get registry from " + registryHost + ":" + registryPort);
reg = LocateRegistry.getRegistry(registryHost, registryPort);
}
JGDIRemoteFactoryImpl service = new JGDIRemoteFactoryImpl(sge_url);
Thread.sleep(1000);
Remote stub = (Remote)UnicastRemoteObject.exportObject(service, 0);
reg.bind(serviceName, stub);
logger.info("JGDIRemoteFactory bound to name " + serviceName );
ShutdownHook shutdownHook = new ShutdownHook(reg, serviceName);
Runtime.getRuntime().addShutdownHook(shutdownHook);