## javax.servlet
Interface AsyncListener

All Superinterfaces:
  EventListener

    public interface AsyncListener

extends EventListener

Listener that will be notified in the event that an asynchronous operation initiated on a ServletRequest to which the listener had been added has completed, timed out, or resulted in an error.

Since:
  Servlet 3.0

Method Summary
`void` `onComplete(AsyncEvent event)` Notifies this AsyncListener that an asynchronous operation has been completed.
`void` `onError(AsyncEvent event)` Notifies this AsyncListener that an asynchronous operation has failed to complete.
`void` `onStartAsync(AsyncEvent event)` Notifies this AsyncListener that a new asynchronous cycle is being initiated via a call to one of the `ServletRequest.startAsync()` methods.
`void` `onTimeout(AsyncEvent event)` Notifies this AsyncListener that an asynchronous operation has timed out.

Method Detail

### onComplete

    void onComplete(AsyncEvent event)
                    throws IOException

  Notifies this AsyncListener that an asynchronous operation has been completed.

  The `AsyncContext` corresponding to the asynchronous operation that has been completed may be obtained by calling `getAsyncContext` on the given `event`.

  In addition, if this AsyncListener had been registered via a call to `AsyncContext.addListener(AsyncListener, ServletRequest, ServletResponse)`, the supplied ServletRequest and ServletResponse objects may be retrieved by calling `getSuppliedRequest` and `getSuppliedResponse`, respectively, on the given `event`.

  Parameters:
    `event` - the AsyncEvent indicating that an asynchronous operation has been completed
  Throws:
    `IOException` - if an I/O related error has occurred during the processing of the given AsyncEvent

### onTimeout

    void onTimeout(AsyncEvent event)
                   throws IOException

  Notifies this AsyncListener that an asynchronous operation has timed out.

  The `AsyncContext` corresponding to the asynchronous operation that has timed out may be obtained by calling `getAsyncContext` on the given `event`.

  In addition, if this AsyncListener had been registered via a call to `AsyncContext.addListener(AsyncListener, ServletRequest, ServletResponse)`, the supplied ServletRequest and ServletResponse objects may be retrieved by calling `getSuppliedRequest` and `getSuppliedResponse`, respectively, on the given `event`.

  Parameters:
    `event` - the AsyncEvent indicating that an asynchronous operation has timed out
  Throws:
    `IOException` - if an I/O related error has occurred during the processing of the given AsyncEvent

### onError

    void onError(AsyncEvent event)
                 throws IOException

  Notifies this AsyncListener that an asynchronous operation has failed to complete.

  The `AsyncContext` corresponding to the asynchronous operation that failed to complete may be obtained by calling `getAsyncContext` on the given `event`.

  In addition, if this AsyncListener had been registered via a call to `AsyncContext.addListener(AsyncListener, ServletRequest, ServletResponse)`, the supplied ServletRequest and ServletResponse objects may be retrieved by calling `getSuppliedRequest` and `getSuppliedResponse`, respectively, on the given `event`.

  Parameters:
    `event` - the AsyncEvent indicating that an asynchronous operation has failed to complete
  Throws:
    `IOException` - if an I/O related error has occurred during the processing of the given AsyncEvent

### onStartAsync

    void onStartAsync(AsyncEvent event)
                      throws IOException

  Notifies this AsyncListener that a new asynchronous cycle is being initiated via a call to one of the `ServletRequest.startAsync()` methods.

  The `AsyncContext` corresponding to the asynchronous operation that is being reinitialized may be obtained by calling `getAsyncContext` on the given `event`.

  In addition, if this AsyncListener had been registered via a call to `AsyncContext.addListener(AsyncListener, ServletRequest, ServletResponse)`, the supplied ServletRequest and ServletResponse objects may be retrieved by calling `getSuppliedRequest` and `getSuppliedResponse`, respectively, on the given `event`.

  This AsyncListener will not receive any events related to the new asynchronous cycle unless it registers itself (via a call to `AsyncContext.addListener(javax.servlet.AsyncListener)`) with the AsyncContext that is delivered as part of the given AsyncEvent.

  Parameters:
    `event` - the AsyncEvent indicating that a new asynchronous cycle is being initiated
  Throws:
    `IOException` - if an I/O related error has occurred during the processing of the given AsyncEvent

Copyright © 2012 GlassFish Community. All Rights Reserved.