@Override protected boolean associate(String ssoId, Session session) { boolean result = super.associate(ssoId, session); if (result) { ((ReplicatedMap<String,SingleSignOnEntry>) cache).replicate(ssoId, true); } return result; }
@Override protected boolean update(String ssoId, Principal principal, String authType, String username, String password) { boolean result = super.update(ssoId, principal, authType, username, password); if (result) { ((ReplicatedMap<String,SingleSignOnEntry>) cache).replicate(ssoId, true); } return result; }
/** * Start this component and implement the requirements * of {@link org.apache.catalina.util.LifecycleBase#startInternal()}. * * @exception LifecycleException if this component detects a fatal error * that prevents this component from being used */ @Override protected synchronized void startInternal() throws LifecycleException { // Load the cluster component, if any try { if(cluster == null) { Container host = getContainer(); if(host instanceof Host) { if(host.getCluster() instanceof CatalinaCluster) { setCluster((CatalinaCluster) host.getCluster()); } } } if (cluster == null) { throw new LifecycleException( "There is no Cluster for ClusterSingleSignOn"); } ClassLoader[] cls = new ClassLoader[] { this.getClass().getClassLoader() }; ReplicatedMap<String,SingleSignOnEntry> cache = new ReplicatedMap<String,SingleSignOnEntry>( this, cluster.getChannel(), rpcTimeout, cluster.getClusterName() + "-SSO-cache", cls, terminateOnStartFailure); cache.setChannelSendOptions(mapSendOptions); this.cache = cache; } catch (Throwable t) { ExceptionUtils.handleThrowable(t); throw new LifecycleException( "ClusterSingleSignOn exception during clusterLoad " + t); } super.startInternal(); }
@Override protected boolean associate(String ssoId, Session session) { boolean result = super.associate(ssoId, session); if (result) { ((ReplicatedMap<String, SingleSignOnEntry>) cache).replicate(ssoId, true); } return result; }
@Override protected boolean update(String ssoId, Principal principal, String authType, String username, String password) { boolean result = super.update(ssoId, principal, authType, username, password); if (result) { ((ReplicatedMap<String, SingleSignOnEntry>) cache).replicate(ssoId, true); } return result; }
/** * Start this component and implement the requirements of * {@link org.apache.catalina.util.LifecycleBase#startInternal()}. * * @exception LifecycleException * if this component detects a fatal error that prevents this * component from being used */ @Override protected synchronized void startInternal() throws LifecycleException { // Load the cluster component, if any try { if (cluster == null) { Container host = getContainer(); if (host instanceof Host) { if (host.getCluster() instanceof CatalinaCluster) { setCluster((CatalinaCluster) host.getCluster()); } } } if (cluster == null) { throw new LifecycleException("There is no Cluster for ClusterSingleSignOn"); } ClassLoader[] cls = new ClassLoader[] { this.getClass().getClassLoader() }; ReplicatedMap<String, SingleSignOnEntry> cache = new ReplicatedMap<String, SingleSignOnEntry>(this, cluster.getChannel(), rpcTimeout, cluster.getClusterName() + "-SSO-cache", cls, terminateOnStartFailure); cache.setChannelSendOptions(mapSendOptions); cache.setAccessTimeout(accessTimeout); this.cache = cache; } catch (Throwable t) { ExceptionUtils.handleThrowable(t); throw new LifecycleException("ClusterSingleSignOn exception during clusterLoad " + t); } super.startInternal(); }