当前页面:
在线文档首页 >
JBoss 4.0.1 sp1 cluster API Documentation 英文版文档
CleanShutdownInterceptor (JBoss Cluster API) - JBoss 4.0.1 sp1 cluster API Documentation 英文版文档
org.jboss.ejb.plugins
Class CleanShutdownInterceptor
java.lang.Object
org.jboss.ejb.plugins.AbstractInterceptor
org.jboss.ejb.plugins.CleanShutdownInterceptor
- All Implemented Interfaces:
- org.jboss.ejb.AllowedOperationsFlags, org.jboss.ejb.ContainerPlugin, org.jboss.ejb.Interceptor, org.jboss.system.Service
- public class CleanShutdownInterceptor
- extends org.jboss.ejb.plugins.AbstractInterceptor
Track the incoming invocations and when shuting down a container (stop or
destroy), waits for current invocations to finish before returning the
stop or destroy call. This interceptor can be important in clustered environment
where shuting down a node doesn't necessarly mean that an application cannot
be reached: other nodes may still be servicing. Consequently, it is important
to have a clean shutdown to keep a coherent behaviour cluster-wide.
To avoid strange or inefficient behaviour, the facade session bean (if any)
should be stopped first thus not blocking invocations in a middle-step (i.e.
facade making multiple invocations to "sub-beans": if a "sub-bean" is
shut down, the facade will get an exception in the middle of its activity)
- Version:
- $Revision: 1.9 $
Revisions:
14 avril 2002 Sacha Labourey:
- Author:
- Sacha Labourey.
- See Also:
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 |
Methods inherited from class org.jboss.ejb.plugins.AbstractInterceptor |
getNext, setNext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
container
protected org.jboss.ejb.Container container
ejbModule
protected org.jboss.ejb.EjbModule ejbModule
ejbModuleName
protected String ejbModuleName
allowInvocations
protected boolean allowInvocations
allowRemoteInvocations
protected boolean allowRemoteInvocations
isDebugEnabled
protected boolean isDebugEnabled
runningInvocations
public long runningInvocations
runningHomeInvocations
public long runningHomeInvocations
shutdownTimeout
public long shutdownTimeout
readAcquireTimeMs
public long readAcquireTimeMs
rwLock
protected EDU.oswego.cs.dl.util.concurrent.ReentrantWriterPreferenceReadWriteLock rwLock
CleanShutdownInterceptor
public CleanShutdownInterceptor()
onlyAllowLocalInvocations
public void onlyAllowLocalInvocations()
waitForNoMoreInvocations
public void waitForNoMoreInvocations()
create
public void create()
throws Exception
- Throws:
Exception
start
public void start()
throws Exception
- Throws:
Exception
stop
public void stop()
destroy
public void destroy()
invokeHome
public Object invokeHome(org.jboss.invocation.Invocation mi)
throws Exception
- Throws:
Exception
invoke
public Object invoke(org.jboss.invocation.Invocation mi)
throws Exception
- Throws:
Exception
getContainer
public org.jboss.ejb.Container getContainer()
setContainer
public void setContainer(org.jboss.ejb.Container con)
- This callback is set by the container so that the plugin may access it
- Parameters:
con
- The container using this plugin.
forbidInvocations
protected void forbidInvocations()
purgeRunningInvocations
protected void purgeRunningInvocations()
getOrigin
protected String getOrigin(org.jboss.invocation.Invocation mi)
setOrigin
protected void setOrigin(org.jboss.invocation.Invocation mi)
revertOrigin
protected void revertOrigin(org.jboss.invocation.Invocation mi,
String origin)
containerIsAboutToStop
protected void containerIsAboutToStop()
Copyright © 2002 JBoss Group, LLC. All Rights Reserved.