Package org.glassfish.jersey.server
Class ServerRuntime.AsyncResponder
java.lang.Object
org.glassfish.jersey.server.ServerRuntime.AsyncResponder
- All Implemented Interfaces:
javax.ws.rs.container.AsyncResponse
,javax.ws.rs.container.CompletionCallback
,AsyncContext
,ContainerResponseWriter.TimeoutHandler
- Enclosing class:
ServerRuntime
private static class ServerRuntime.AsyncResponder
extends Object
implements AsyncContext, ContainerResponseWriter.TimeoutHandler, javax.ws.rs.container.CompletionCallback
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.glassfish.jersey.server.AsyncContext
AsyncContext.State
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List
<ServerRuntime.AbstractCallbackRunner<?>> private boolean
private static final javax.ws.rs.container.TimeoutHandler
private final ExternalRequestContext
<?> private static final Logger
private final RequestContext
private final ExternalRequestScope
private final ServerRuntime.Responder
private AsyncContext.State
private final Object
private javax.ws.rs.container.TimeoutHandler
Fields inherited from interface javax.ws.rs.container.AsyncResponse
NO_TIMEOUT
-
Constructor Summary
ConstructorsConstructorDescriptionAsyncResponder
(ServerRuntime.Responder responder, RequestContext requestContext, ExternalRequestScope requestScopeListener, ExternalRequestContext<?> foreignScopeInstance) -
Method Summary
Modifier and TypeMethodDescriptionboolean
cancel()
boolean
cancel
(int retryAfter) boolean
private boolean
void
invokeManaged
(Producer<javax.ws.rs.core.Response> producer) Invoke the provided response producer in a Jersey-managed asynchronous thread.boolean
boolean
isDone()
boolean
boolean
void
onComplete
(Throwable throwable) void
onTimeout
(ContainerResponseWriter responseWriter) Method is called, whenContainerResponseWriter.suspend(...)
operation times out.Collection
<Class<?>> Map
<Class<?>, Collection<Class<?>>> Collection
<Class<?>> Map
<Class<?>, Collection<Class<?>>> boolean
private boolean
boolean
boolean
setTimeout
(long time, TimeUnit unit) void
setTimeoutHandler
(javax.ws.rs.container.TimeoutHandler handler) boolean
suspend()
Suspend the current asynchronous processing context.
-
Field Details
-
LOGGER
-
DEFAULT_TIMEOUT_HANDLER
private static final javax.ws.rs.container.TimeoutHandler DEFAULT_TIMEOUT_HANDLER -
stateLock
-
state
-
cancelled
private boolean cancelled -
responder
-
requestContext
-
foreignScopeInstance
-
requestScopeListener
-
timeoutHandler
private volatile javax.ws.rs.container.TimeoutHandler timeoutHandler -
callbackRunners
-
-
Constructor Details
-
AsyncResponder
public AsyncResponder(ServerRuntime.Responder responder, RequestContext requestContext, ExternalRequestScope requestScopeListener, ExternalRequestContext<?> foreignScopeInstance)
-
-
Method Details
-
onTimeout
Description copied from interface:ContainerResponseWriter.TimeoutHandler
Method is called, whenContainerResponseWriter.suspend(...)
operation times out. The custom time-out handler implementation is responsible for making sure a (time-out) response is written to the context and that the container context is properly closed.- Specified by:
onTimeout
in interfaceContainerResponseWriter.TimeoutHandler
- Parameters:
responseWriter
- suspended container response writer that timed out.
-
onComplete
- Specified by:
onComplete
in interfacejavax.ws.rs.container.CompletionCallback
-
invokeManaged
Description copied from interface:AsyncContext
Invoke the provided response producer in a Jersey-managed asynchronous thread.- Specified by:
invokeManaged
in interfaceAsyncContext
- Parameters:
producer
- response producer.
-
suspend
public boolean suspend()Description copied from interface:AsyncContext
Suspend the current asynchronous processing context. The method returnstrue
if the context has been successfully suspended,false
otherwise.- Specified by:
suspend
in interfaceAsyncContext
- Returns:
true
if the request processing has been suspended successfully suspended,false
otherwise.
-
resume
- Specified by:
resume
in interfacejavax.ws.rs.container.AsyncResponse
-
resume
- Specified by:
resume
in interfacejavax.ws.rs.container.AsyncResponse
-
resume
-
cancel
public boolean cancel()- Specified by:
cancel
in interfacejavax.ws.rs.container.AsyncResponse
-
cancel
public boolean cancel(int retryAfter) - Specified by:
cancel
in interfacejavax.ws.rs.container.AsyncResponse
-
cancel
- Specified by:
cancel
in interfacejavax.ws.rs.container.AsyncResponse
-
cancel
-
isRunning
public boolean isRunning() -
isSuspended
public boolean isSuspended()- Specified by:
isSuspended
in interfacejavax.ws.rs.container.AsyncResponse
-
isCancelled
public boolean isCancelled()- Specified by:
isCancelled
in interfacejavax.ws.rs.container.AsyncResponse
-
isDone
public boolean isDone()- Specified by:
isDone
in interfacejavax.ws.rs.container.AsyncResponse
-
setTimeout
- Specified by:
setTimeout
in interfacejavax.ws.rs.container.AsyncResponse
-
setTimeoutHandler
public void setTimeoutHandler(javax.ws.rs.container.TimeoutHandler handler) - Specified by:
setTimeoutHandler
in interfacejavax.ws.rs.container.AsyncResponse
-
register
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-