Class LargeMessageWorkflow

  • All Implemented Interfaces:
    AdaptrisComponent, AdaptrisMessageListener, ComponentLifecycle, ComponentLifecycleExtension, ConfigComment, EventHandlerAware, StateManagedComponent, Workflow

    @ComponentProfile(summary="Workflow that supports arbitrarily large messages",
                      tag="workflow,base")
    public class LargeMessageWorkflow
    extends StandardWorkflow
    Workflow that does not store the original message for error-handling purposes.

    This workflow is intended to provide better performance when faced with extremely large messages. The behaviour of StandardWorkflow is to attempt to clone the message before attempting trigger the workflow; This can take an exceptionally long time if the message is greater than 300Mb, leading to a simple FsConsumer to FsProducer taking something like 300000ms.

    While error handling is supported, the current message in transit is provided to the ProcessingExceptionHandler; so best practise when using this workflow is to immediately archive it with LargeFsProducer and use that for recovery.

    In the adapter configuration file this class is aliased as large-message-workflow which is the preferred alternative to the fully qualified classname when building your configuration.