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<?>>callbackRunnersprivate booleancancelledprivate static javax.ws.rs.container.TimeoutHandlerDEFAULT_TIMEOUT_HANDLERprivate ExternalRequestContext<?>foreignScopeInstanceprivate static java.util.logging.LoggerLOGGERprivate RequestContextrequestContextprivate ExternalRequestScoperequestScopeListenerprivate ServerRuntime.Responderresponderprivate AsyncContext.Statestateprivate java.lang.ObjectstateLockprivate javax.ws.rs.container.TimeoutHandlertimeoutHandler
-
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 booleancancel()booleancancel(int retryAfter)booleancancel(java.util.Date retryAfter)private booleancancel(Value<javax.ws.rs.core.Response> responseValue)voidinvokeManaged(Producer<javax.ws.rs.core.Response> producer)Invoke the provided response producer in a Jersey-managed asynchronous thread.booleanisCancelled()booleanisDone()booleanisRunning()booleanisSuspended()voidonComplete(java.lang.Throwable throwable)voidonTimeout(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)booleanresume(java.lang.Object response)private booleanresume(java.lang.Runnable handler)booleanresume(java.lang.Throwable error)booleansetTimeout(long time, java.util.concurrent.TimeUnit unit)voidsetTimeoutHandler(javax.ws.rs.container.TimeoutHandler handler)booleansuspend()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.TimeoutHandlerMethod 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:
onTimeoutin interfaceContainerResponseWriter.TimeoutHandler- Parameters:
responseWriter- suspended container response writer that timed out.
-
onComplete
public void onComplete(java.lang.Throwable throwable)
- Specified by:
onCompletein interfacejavax.ws.rs.container.CompletionCallback
-
invokeManaged
public void invokeManaged(Producer<javax.ws.rs.core.Response> producer)
Description copied from interface:AsyncContextInvoke the provided response producer in a Jersey-managed asynchronous thread.- Specified by:
invokeManagedin interfaceAsyncContext- Parameters:
producer- response producer.
-
suspend
public boolean suspend()
Description copied from interface:AsyncContextSuspend the current asynchronous processing context. The method returnstrueif the context has been successfully suspended,falseotherwise.- Specified by:
suspendin interfaceAsyncContext- Returns:
trueif the request processing has been suspended successfully suspended,falseotherwise.
-
resume
public boolean resume(java.lang.Object response)
- Specified by:
resumein interfacejavax.ws.rs.container.AsyncResponse
-
resume
public boolean resume(java.lang.Throwable error)
- Specified by:
resumein interfacejavax.ws.rs.container.AsyncResponse
-
resume
private boolean resume(java.lang.Runnable handler)
-
cancel
public boolean cancel()
- Specified by:
cancelin interfacejavax.ws.rs.container.AsyncResponse
-
cancel
public boolean cancel(int retryAfter)
- Specified by:
cancelin interfacejavax.ws.rs.container.AsyncResponse
-
cancel
public boolean cancel(java.util.Date retryAfter)
- Specified by:
cancelin 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:
isSuspendedin interfacejavax.ws.rs.container.AsyncResponse
-
isCancelled
public boolean isCancelled()
- Specified by:
isCancelledin interfacejavax.ws.rs.container.AsyncResponse
-
isDone
public boolean isDone()
- Specified by:
isDonein interfacejavax.ws.rs.container.AsyncResponse
-
setTimeout
public boolean setTimeout(long time, java.util.concurrent.TimeUnit unit)- Specified by:
setTimeoutin interfacejavax.ws.rs.container.AsyncResponse
-
setTimeoutHandler
public void setTimeoutHandler(javax.ws.rs.container.TimeoutHandler handler)
- Specified by:
setTimeoutHandlerin interfacejavax.ws.rs.container.AsyncResponse
-
register
public java.util.Collection<java.lang.Class<?>> register(java.lang.Class<?> callback)
- Specified by:
registerin 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:
registerin interfacejavax.ws.rs.container.AsyncResponse
-
register
public java.util.Collection<java.lang.Class<?>> register(java.lang.Object callback)
- Specified by:
registerin 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:
registerin interfacejavax.ws.rs.container.AsyncResponse
-
-