in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/localworker/AbstractRemoteRunFactory.java [210:259]
protected Registry getTheRegistry() {
try {
if (registry != null) {
registry.list();
return registry;
}
} catch (RemoteException e) {
log.warn("non-functioning existing registry handle", e);
registry = null;
}
try {
registry = getRegistry(getRegistryHost(), getRegistryPort());
registry.list();
return registry;
} catch (RemoteException e) {
log.warn("Failed to get working RMI registry handle.");
registry = null;
log.warn("Will build new registry, "
+ "but service restart ability is at risk.");
try {
registry = makeRegistry(getRegistryPort());
registry.list();
return registry;
} catch (RemoteException e2) {
log.error(
"failed to create local working RMI registry on port "
+ getRegistryPort(), e2);
log.info("original connection exception", e);
}
}
try {
registry = getRegistry(getRegistryHost(), REGISTRY_PORT);
registry.list();
return registry;
} catch (RemoteException e) {
log.warn("Failed to get working RMI registry handle on backup port.");
try {
registry = makeRegistry(REGISTRY_PORT);
registry.list();
return registry;
} catch (RemoteException e2) {
log.fatal(
"totally failed to get registry handle, even on fallback!",
e2);
log.info("original connection exception", e);
registry = null;
throw new RuntimeException("No RMI Registry Available");
}
}
}