Package org.jboss.ejb.client
Class DiscoveryEJBClientInterceptor
- java.lang.Object
-
- org.jboss.ejb.client.DiscoveryEJBClientInterceptor
-
- All Implemented Interfaces:
EJBClientInterceptor
public final class DiscoveryEJBClientInterceptor extends Object implements EJBClientInterceptor
The Enterprise Beans client interceptor responsible for discovering the destination of a request. If a destination is already established, the interceptor passes the invocation through unmodified. If the interceptor cannot locate the destination, the invocation will proceed without a destination (and ultimately fail if no other interceptor resolves the destination).- Author:
- David M. Lloyd
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jboss.ejb.client.EJBClientInterceptor
EJBClientInterceptor.Registration
-
-
Field Summary
Fields Modifier and Type Field Description static int
PRIORITY
This interceptor's priority.
-
Constructor Summary
Constructors Constructor Description DiscoveryEJBClientInterceptor()
Construct a new instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static long
getDiscoveryAdditionalTimeout()
Gets the value (in milliseconds) of discovery additional timeout, configured with system propertyorg.jboss.ejb.client.discovery.additional-node-timeout
.void
handleInvocation(EJBClientInvocationContext context)
Handle the invocation.Object
handleInvocationResult(EJBClientInvocationContext context)
Handle the invocation result.SessionID
handleSessionCreation(EJBSessionCreationInvocationContext context)
Optionally handle a session creation invocation.
-
-
-
Field Detail
-
PRIORITY
public static final int PRIORITY
This interceptor's priority.- See Also:
- Constant Field Values
-
-
Method Detail
-
handleInvocation
public void handleInvocation(EJBClientInvocationContext context) throws Exception
Description copied from interface:EJBClientInterceptor
Handle the invocation. Implementations may short-circuit the invocation by throwing an exception. This method should process any per-interceptor state and callEJBClientInvocationContext.sendRequest()
.- Specified by:
handleInvocation
in interfaceEJBClientInterceptor
- Parameters:
context
- the invocation context- Throws:
Exception
- if an invocation error occurs
-
handleInvocationResult
public Object handleInvocationResult(EJBClientInvocationContext context) throws Exception
Description copied from interface:EJBClientInterceptor
Handle the invocation result. The implementation should generally callEJBClientInvocationContext.getResult()
immediately and perform any post-invocation cleanup task in a finally block.- Specified by:
handleInvocationResult
in interfaceEJBClientInterceptor
- Parameters:
context
- the invocation context- Returns:
- the invocation result, if any
- Throws:
Exception
- if an invocation error occurred
-
handleSessionCreation
public SessionID handleSessionCreation(EJBSessionCreationInvocationContext context) throws Exception
Description copied from interface:EJBClientInterceptor
Optionally handle a session creation invocation. Explicit session creation is always a blocking operation. The default operation forwards to the next interceptor in the chain.- Specified by:
handleSessionCreation
in interfaceEJBClientInterceptor
- Parameters:
context
- the session creation invocation context (notnull
)- Returns:
- the stateful Enterprise Beans locator (must not be
null
) - Throws:
Exception
- if an invocation error occurred
-
getDiscoveryAdditionalTimeout
public static long getDiscoveryAdditionalTimeout()
Gets the value (in milliseconds) of discovery additional timeout, configured with system propertyorg.jboss.ejb.client.discovery.additional-node-timeout
.- Returns:
- the value (in milliseconds) of discovery additional timeout
-
-