Class ShortCutJettyResponse

  • All Implemented Interfaces:
    AdaptrisComponent, ComponentLifecycle, ComponentLifecycleExtension, MessageEventGenerator, Service, StateManagedComponent

    @ComponentProfile(summary="Allows you to commit the HTTP response immediately rather than at the end of a PoolingWorkflow",
                      tag="service,http,https,jetty")
    public class ShortCutJettyResponse
    extends ServiceImp
    Allows you to short cut JettyPoolingWorkflowInterceptor behaviour in a PoolingWorkflow.

    Normally, the response is not committed until the workflow is complete. If you have a workflow bound to HTTP that takes a significant amount of time then this can cause arbitrary timeouts within firewalls and proxies. If the client sends a Expect: 102-Processing header, then the adapter will automatically send a 102 response every 20 seconds or so until the workflow has finished. This service allows you to shortcut that behaviour and commit a response before the underlying workflow is complete. You will still need to use StandardResponseProducer prior to using this service.

    While not strictly enforced, you should consider returning a 202 ACCEPTED rather than a 200 OK if you are going to send the response before the end of the workflow. This would be the more "correct" behaviour as per the HTTP specifications.

    In the adapter configuration file this class is aliased as jetty-commit-response which is the preferred alternative to the fully qualified classname when building your configuration.