if (ssoClusterManager != null)
return;
if (className != null)
{
SSOClusterManager mgr = null;
try
{
ClassLoader tcl =
Thread.currentThread().getContextClassLoader();
Class<?> clazz = tcl.loadClass(className);
mgr = (SSOClusterManager) clazz.newInstance();
mgr.setSSOLocalManager(this);
ssoClusterManager = mgr;
clusterManagerClass = className;
}
catch (Throwable t)
{
throw new LifecycleException("Cannot create " +
"SSOClusterManager using " +
className, t);
}
}
else
{
Iterator<SSOClusterManager> managers = ServiceLoader.load(SSOClusterManager.class).iterator();
if (!managers.hasNext())
{
throw new LifecycleException("No service provider found: " + SSOClusterManager.class.getName());
}
SSOClusterManager mgr = managers.next();
mgr.setSSOLocalManager(this);
ssoClusterManager = mgr;
clusterManagerClass = this.ssoClusterManager.getClass().getName();
}
if (started)