|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.proxy.Interceptor
org.jboss.proxy.ejb.RetryInterceptor
public class RetryInterceptor
An interceptor that will retry failed invocations by restoring the
InvocationContext invoker. This is triggered by a ServiceUnavailableException
which causes the interceptor to fall into a while loop that retries the
lookup of the transport invoker using the jndi name obtained from the
invocation context under the key InvocationKey.JNDI_NAME, with the additional
extension of "-RemoteInvoker" if the invocation type is InvocationType.REMOTE
and "-HomeInvoker" if the invocation type is InvocationType.HOME.
The JNDI environment used for the lookup can be set via the setRetryEnv.
Typically this is an HA-JNDI configuration with one or more bootstrap
urls. If not set, an attempt will be made to use
NamingContextFactory.getInitialContext(Hashtable)
to find the
JNDI environment. This will only be useful if java.naming.factory.initial
was set to org.jboss.naming.NamingContextFactory. If neither of the above
steps yield a set of naming environment properties, a default InitialContext
will be used.
Field Summary |
---|
Fields inherited from class org.jboss.proxy.Interceptor |
---|
nextInterceptor |
Constructor Summary | |
---|---|
|
RetryInterceptor()
No-argument constructor for externalization. |
protected |
RetryInterceptor(int maxRetries,
long sleepTime)
Create a new RetryInterceptor that will retry the specified number of times. |
Method Summary | |
---|---|
int |
getMaxRetries()
Gets the maximum number of retries that will be attempted. |
boolean |
getRetry()
|
long |
getSleepTime()
Gets the number of ms of sleep between each retry attempt. |
Object |
invoke(Invocation invocation)
InvocationHandler implementation. |
void |
readExternal(ObjectInput in)
Reads the next interceptor. |
void |
setMaxRetries(int maxRetries)
Sets the maximum number of retries that will be attempted. |
void |
setRetry(boolean flag)
|
static void |
setRetryEnv(Properties env)
Set the HA-JNDI InitialContext env used to lookup the invoker proxy |
void |
setSleepTime(long sleepTime)
Sets the number of ms of sleep between each retry attempt. |
void |
writeExternal(ObjectOutput out)
Writes the next interceptor. |
Methods inherited from class org.jboss.proxy.Interceptor |
---|
getNext, setNext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RetryInterceptor()
protected RetryInterceptor(int maxRetries, long sleepTime)
maxRetries
- the maximum number of retries to attempt. -1
(the default) means retry until successful.sleepTime
- number of ms to pause between each retry attemptMethod Detail |
---|
public static void setRetryEnv(Properties env)
env
- the InitialContext env used to lookup the invoker proxypublic void setRetry(boolean flag)
public boolean getRetry()
public int getMaxRetries()
public void setMaxRetries(int maxRetries)
maxRetries
- the maximum number of retries to attempt. -1
(the default) means retry until successful.public long getSleepTime()
public void setSleepTime(long sleepTime)
public Object invoke(Invocation invocation) throws Throwable
invoke
in class Interceptor
Throwable
- Any exception or error thrown while processing.public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class Interceptor
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
readExternal
in class Interceptor
IOException
ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |