|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.springframework.jndi.JndiAccessor
org.springframework.jndi.JndiLocatorSupport
org.springframework.jndi.JndiObjectLocator
org.springframework.ejb.access.AbstractSlsbInvokerInterceptor
org.springframework.ejb.access.AbstractRemoteSlsbInvokerInterceptor
Superclass for interceptors proxying remote Stateless Session Beans.
Such an interceptor must be the last interceptor in the advice chain. In this case, there is no target object.
| Field Summary |
| Fields inherited from class org.springframework.jndi.JndiLocatorSupport |
CONTAINER_PREFIX |
| Fields inherited from class org.springframework.jndi.JndiAccessor |
logger |
| Constructor Summary | |
AbstractRemoteSlsbInvokerInterceptor()
|
|
| Method Summary | |
protected abstract Object |
doInvoke(MethodInvocation invocation)
Perform the given invocation on the current EJB home. |
Object |
invoke(MethodInvocation invocation)
Fetches an EJB home object and delegates to doInvoke. |
protected boolean |
isConnectFailure(RemoteException ex)
Determine whether the given RMI exception indicates a connect failure. |
protected boolean |
isHomeRefreshable()
Return whether the cached EJB home object is potentially subject to on-demand refreshing. |
protected EJBObject |
newSessionBeanInstance()
Return a new instance of the stateless session bean. |
protected Object |
refreshAndRetry(MethodInvocation invocation)
Refresh the EJB home object and retry the given invocation. |
protected void |
removeSessionBeanInstance(EJBObject ejb)
Remove the given EJB instance. |
void |
setRefreshHomeOnConnectFailure(boolean refreshHomeOnConnectFailure)
Set whether to refresh the EJB home on connect failure. |
| Methods inherited from class org.springframework.ejb.access.AbstractSlsbInvokerInterceptor |
afterPropertiesSet, create, getCreateMethod, getHome, refreshHome, setCacheHome, setLookupHomeOnStartup |
| Methods inherited from class org.springframework.jndi.JndiObjectLocator |
getJndiName, lookup, setJndiName |
| Methods inherited from class org.springframework.jndi.JndiLocatorSupport |
convertJndiName, isResourceRef, lookup, setResourceRef |
| Methods inherited from class org.springframework.jndi.JndiAccessor |
getJndiEnvironment, getJndiTemplate, setJndiEnvironment, setJndiTemplate |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public AbstractRemoteSlsbInvokerInterceptor()
| Method Detail |
public void setRefreshHomeOnConnectFailure(boolean refreshHomeOnConnectFailure)
Can be turned on to allow for hot restart of the EJB server. If a cached EJB home throws an RMI exception that indicates a remote connect failure, a fresh home will be fetched and the invocation will be retried.
ConnectException,
ConnectIOException,
NoSuchObjectExceptionprotected boolean isHomeRefreshable()
AbstractSlsbInvokerInterceptor
isHomeRefreshable in class AbstractSlsbInvokerInterceptor
public Object invoke(MethodInvocation invocation)
throws Throwable
ThrowableAbstractSlsbInvokerInterceptor.getHome(),
doInvoke(org.aopalliance.intercept.MethodInvocation),
refreshAndRetry(org.aopalliance.intercept.MethodInvocation),
ConnectException,
ConnectIOException,
NoSuchObjectExceptionprotected boolean isConnectFailure(RemoteException ex)
ex - the RMI exception to check
RmiClientInterceptorUtils.isConnectFailure(java.rmi.RemoteException)
protected Object refreshAndRetry(MethodInvocation invocation)
throws Throwable
invocation - the AOP method invocation
Throwable - in case of invocation failureinvoke(org.aopalliance.intercept.MethodInvocation)
protected abstract Object doInvoke(MethodInvocation invocation)
throws Throwable
invocation - the AOP method invocation
Throwable - in case of invocation failureAbstractSlsbInvokerInterceptor.getHome(),
newSessionBeanInstance()
protected EJBObject newSessionBeanInstance()
throws NamingException,
InvocationTargetException
NamingException - if thrown by JNDI
InvocationTargetException - if thrown by the create methodAbstractSlsbInvokerInterceptor.create()protected void removeSessionBeanInstance(EJBObject ejb)
ejb - the EJB instance to removeEJBObject.remove()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||