org.jboss.ejb.plugins
Class StatefulHASessionInstanceCache

java.lang.Object
  extended byorg.jboss.ejb.plugins.AbstractInstanceCache (src) 
      extended byorg.jboss.ejb.plugins.StatefulSessionInstanceCache (src) 
          extended byorg.jboss.ejb.plugins.StatefulHASessionInstanceCache
All Implemented Interfaces:
AllowedOperationsFlags (src) , ContainerPlugin (src) , InstanceCache (src) , MetricsConstants (src) , Monitorable (src) , Service (src) , XmlLoadable (src)

public class StatefulHASessionInstanceCache
extends StatefulSessionInstanceCache (src)

SFSB cache for clustered environment. Mainly avoid "excessive" locking that can generate cluster-distributed deadlocks.

See Also:
StatefulSessionInstanceCache (src)

Field Summary
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInstanceCache (src)
log
 
Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags (src)
IN_AFTER_BEGIN, IN_AFTER_COMPLETION, IN_BEFORE_COMPLETION, IN_BUSINESS_METHOD, IN_EJB_ACTIVATE, IN_EJB_CREATE, IN_EJB_FIND, IN_EJB_HOME, IN_EJB_LOAD, IN_EJB_PASSIVATE, IN_EJB_POST_CREATE, IN_EJB_REMOVE, IN_EJB_STORE, IN_EJB_TIMEOUT, IN_INTERCEPTOR_METHOD, IN_SERVICE_ENDPOINT_METHOD, IN_SET_ENTITY_CONTEXT, IN_SET_MESSAGE_DRIVEN_CONTEXT, IN_SET_SESSION_CONTEXT, IN_UNSET_ENTITY_CONTEXT, NOT_ALLOWED
 
Fields inherited from interface org.jboss.monitor.MetricsConstants (src)
ACTIVITY, APPLICATION, BEAN, BEANCACHE_METRICS, CHECKPOINT, INVOCATION_METRICS, MEMORY_MONITOR, METHOD, PRIMARY_KEY, SYSTEM_METRICS, THREAD_MONITOR, TIME, TYPE
 
Constructor Summary
StatefulHASessionInstanceCache()
           
 
Method Summary
 EnterpriseContext (src) get(java.lang.Object id)
          Gets a bean instance from this cache given the identity.
 void invalidateLocally(java.lang.Object id)
          Remove an object from the local cache *without* any locking (synchronized, etc.) to avoid huge cluster-wide deadlock situations We have to unschedule passivation as well as the bean may be used on another node.
 
Methods inherited from class org.jboss.ejb.plugins.StatefulSessionInstanceCache (src)
acquireContext, activate, canPassivate, destroy, doActivate, freeContext, getContainer, getKey, getPassivatedCount, passivate, postRemovalCleanup, preRemovalPreparation, removePassivated, setContainer, setKey
 
Methods inherited from class org.jboss.ejb.plugins.AbstractInstanceCache (src)
create, flush, getCache, getCacheLock, getCachePolicyString, getCacheSize, importXml, insert, isActive, logActivation, logPassivation, release, remove, resetStatistic, retrieveStatistic, sample, start, stop, tryToPassivate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StatefulHASessionInstanceCache

public StatefulHASessionInstanceCache()
Method Detail

invalidateLocally

public void invalidateLocally(java.lang.Object id)
Remove an object from the local cache *without* any locking (synchronized, etc.) to avoid huge cluster-wide deadlock situations We have to unschedule passivation as well as the bean may be used on another node.


get

public EnterpriseContext (src)  get(java.lang.Object id)
                      throws java.rmi.RemoteException,
                             java.rmi.NoSuchObjectException
Description copied from interface: InstanceCache (src)
Gets a bean instance from this cache given the identity. This method may involve activation if the instance is not in the cache.

Implementation should have O(1) complexity.

This method is never called for stateless session beans.

Specified by:
get in interface InstanceCache (src)
Overrides:
get in class AbstractInstanceCache (src)
Throws:
java.rmi.RemoteException
java.rmi.NoSuchObjectException