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 java.lang.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
Fields Modifier and Type Field Description private java.util.List<ServerRuntime.AbstractCallbackRunner<?>>
callbackRunners
private boolean
cancelled
private static javax.ws.rs.container.TimeoutHandler
DEFAULT_TIMEOUT_HANDLER
private ExternalRequestContext<?>
foreignScopeInstance
private static java.util.logging.Logger
LOGGER
private RequestContext
requestContext
private ExternalRequestScope
requestScopeListener
private ServerRuntime.Responder
responder
private AsyncContext.State
state
private java.lang.Object
stateLock
private javax.ws.rs.container.TimeoutHandler
timeoutHandler
-
Constructor Summary
Constructors Constructor Description AsyncResponder(ServerRuntime.Responder responder, RequestContext requestContext, ExternalRequestScope requestScopeListener, ExternalRequestContext<?> foreignScopeInstance)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
cancel()
boolean
cancel(int retryAfter)
boolean
cancel(java.util.Date retryAfter)
private boolean
cancel(Value<javax.ws.rs.core.Response> responseValue)
void
invokeManaged(Producer<javax.ws.rs.core.Response> producer)
Invoke the provided response producer in a Jersey-managed asynchronous thread.boolean
isCancelled()
boolean
isDone()
boolean
isRunning()
boolean
isSuspended()
void
onComplete(java.lang.Throwable throwable)
void
onTimeout(ContainerResponseWriter responseWriter)
Method is called, whenContainerResponseWriter.suspend(...)
operation times out.java.util.Collection<java.lang.Class<?>>
register(java.lang.Class<?> callback)
java.util.Map<java.lang.Class<?>,java.util.Collection<java.lang.Class<?>>>
register(java.lang.Class<?> callback, java.lang.Class<?>... callbacks)
java.util.Collection<java.lang.Class<?>>
register(java.lang.Object callback)
java.util.Map<java.lang.Class<?>,java.util.Collection<java.lang.Class<?>>>
register(java.lang.Object callback, java.lang.Object... callbacks)
boolean
resume(java.lang.Object response)
private boolean
resume(java.lang.Runnable handler)
boolean
resume(java.lang.Throwable error)
boolean
setTimeout(long time, java.util.concurrent.TimeUnit unit)
void
setTimeoutHandler(javax.ws.rs.container.TimeoutHandler handler)
boolean
suspend()
Suspend the current asynchronous processing context.
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
DEFAULT_TIMEOUT_HANDLER
private static final javax.ws.rs.container.TimeoutHandler DEFAULT_TIMEOUT_HANDLER
-
stateLock
private final java.lang.Object stateLock
-
state
private AsyncContext.State state
-
cancelled
private boolean cancelled
-
responder
private final ServerRuntime.Responder responder
-
requestContext
private final RequestContext requestContext
-
foreignScopeInstance
private final ExternalRequestContext<?> foreignScopeInstance
-
requestScopeListener
private final ExternalRequestScope requestScopeListener
-
timeoutHandler
private volatile javax.ws.rs.container.TimeoutHandler timeoutHandler
-
callbackRunners
private final java.util.List<ServerRuntime.AbstractCallbackRunner<?>> callbackRunners
-
-
Constructor Detail
-
AsyncResponder
public AsyncResponder(ServerRuntime.Responder responder, RequestContext requestContext, ExternalRequestScope requestScopeListener, ExternalRequestContext<?> foreignScopeInstance)
-
-
Method Detail
-
onTimeout
public void onTimeout(ContainerResponseWriter responseWriter)
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
public void onComplete(java.lang.Throwable throwable)
- Specified by:
onComplete
in interfacejavax.ws.rs.container.CompletionCallback
-
invokeManaged
public void invokeManaged(Producer<javax.ws.rs.core.Response> producer)
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
public boolean resume(java.lang.Object response)
- Specified by:
resume
in interfacejavax.ws.rs.container.AsyncResponse
-
resume
public boolean resume(java.lang.Throwable error)
- Specified by:
resume
in interfacejavax.ws.rs.container.AsyncResponse
-
resume
private boolean resume(java.lang.Runnable handler)
-
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
public boolean cancel(java.util.Date retryAfter)
- Specified by:
cancel
in interfacejavax.ws.rs.container.AsyncResponse
-
cancel
private boolean cancel(Value<javax.ws.rs.core.Response> responseValue)
-
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
public boolean setTimeout(long time, java.util.concurrent.TimeUnit unit)
- 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
public java.util.Collection<java.lang.Class<?>> register(java.lang.Class<?> callback)
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
public java.util.Map<java.lang.Class<?>,java.util.Collection<java.lang.Class<?>>> register(java.lang.Class<?> callback, java.lang.Class<?>... callbacks)
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
public java.util.Collection<java.lang.Class<?>> register(java.lang.Object callback)
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
register
public java.util.Map<java.lang.Class<?>,java.util.Collection<java.lang.Class<?>>> register(java.lang.Object callback, java.lang.Object... callbacks)
- Specified by:
register
in interfacejavax.ws.rs.container.AsyncResponse
-
-