org.jboss.cache.invalidation.triggers
Class EntityBeanCacheBatchInvalidatorInterceptor

java.lang.Object
  extended by org.jboss.ejb.plugins.AbstractInterceptor
      extended by org.jboss.cache.invalidation.triggers.EntityBeanCacheBatchInvalidatorInterceptor
All Implemented Interfaces:
AllowedOperationsFlags, ContainerPlugin, Interceptor, XmlLoadable, org.jboss.system.Service

public class EntityBeanCacheBatchInvalidatorInterceptor
extends AbstractInterceptor
implements XmlLoadable

The role of this interceptor is to detect that an entity has been modified after an invocation has been performed an use the InvalidationsTxGrouper static class so that invalidation messages can be groupped and sent at transaction-commit time in a single batch.

Version:
$Revision: 57209 $
Author:
Sacha Labourey, Bill Burke

Field Summary
protected  EntityContainer container
           
protected  boolean doCacheInvalidations
           
protected  InvalidationGroup ig
           
 boolean invalidateRelated
           
protected  InvalidationManagerMBean invalMgr
           
 
Fields inherited from class org.jboss.ejb.plugins.AbstractInterceptor
log, nextInterceptor
 
Fields inherited from interface org.jboss.ejb.AllowedOperationsFlags
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
 
Constructor Summary
EntityBeanCacheBatchInvalidatorInterceptor()
           
 
Method Summary
protected  boolean changed(Invocation mi, EntityEnterpriseContext ctx)
           
 Container getContainer()
           
 void importXml(Element element)
           
 Object invoke(Invocation mi)
          ???
 void setContainer(Container container)
          This callback is set by the container so that the plugin may access it
 void start()
           
 void stop()
           
 
Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor
create, destroy, getNext, invokeHome, isAppException, setNext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

doCacheInvalidations

protected boolean doCacheInvalidations

invalMgr

protected InvalidationManagerMBean invalMgr

ig

protected InvalidationGroup ig

container

protected EntityContainer container

invalidateRelated

public boolean invalidateRelated
Constructor Detail

EntityBeanCacheBatchInvalidatorInterceptor

public EntityBeanCacheBatchInvalidatorInterceptor()
Method Detail

start

public void start()
           throws Exception
Specified by:
start in interface org.jboss.system.Service
Overrides:
start in class AbstractInterceptor
Throws:
Exception

stop

public void stop()
Specified by:
stop in interface org.jboss.system.Service
Overrides:
stop in class AbstractInterceptor

changed

protected boolean changed(Invocation mi,
                          EntityEnterpriseContext ctx)
                   throws Exception
Throws:
Exception

invoke

public Object invoke(Invocation mi)
              throws Exception
Description copied from interface: Interceptor
???

Specified by:
invoke in interface Interceptor
Overrides:
invoke in class AbstractInterceptor
Parameters:
mi - ???
Returns:
???
Throws:
Exception - ???

setContainer

public void setContainer(Container container)
Description copied from interface: ContainerPlugin
This callback is set by the container so that the plugin may access it

Specified by:
setContainer in interface ContainerPlugin
Overrides:
setContainer in class AbstractInterceptor
Parameters:
container - The container using this plugin. This may be null if the plugin is being disassociated from a container.

getContainer

public Container getContainer()
Overrides:
getContainer in class AbstractInterceptor

importXml

public void importXml(Element element)
               throws Exception
Specified by:
importXml in interface XmlLoadable
Throws:
Exception


Copyright © 2002 JBoss Group, LLC. All Rights Reserved.