Class AsyncSenderWithListenerPipe<M>

All Implemented Interfaces:
HasSender, HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@Category(BASIC) @EnterpriseIntegrationPattern(ENDPOINT) public class AsyncSenderWithListenerPipe<M> extends MessageSendingPipe
Sends a message using an asynchronous sender and receives a reply from a listener. Provides a base-class for a Pipe that always has the same forward. Ancestor classes should call super.configure() in their configure()-methods.
  • Constructor Details

    • AsyncSenderWithListenerPipe

      public AsyncSenderWithListenerPipe()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Description copied from class: FixedForwardPipe
      checks for correct configuration of forward
      Specified by:
      configure in interface IConfigurable
      Specified by:
      configure in interface IPipe
      Overrides:
      configure in class MessageSendingPipe
      Throws:
      ConfigurationException
    • propagateName

      protected void propagateName()
      Overrides:
      propagateName in class MessageSendingPipe
    • doLogToMessageLog

      protected String doLogToMessageLog(Message input, PipeLineSession session, Message originalMessage, String messageID, String correlationID) throws SenderException
      Overrides:
      doLogToMessageLog in class MessageSendingPipe
      Throws:
      SenderException
    • postSendAction

      protected PipeRunResult postSendAction(PipeRunResult sendResult, String correlationID, PipeLineSession session) throws ListenerException, TimeoutException
      Overrides:
      postSendAction in class MessageSendingPipe
      Throws:
      ListenerException
      TimeoutException
    • start

      public void start() throws PipeStartException
      Description copied from interface: IPipe
      Perform necessary action to start the pipe. This method is executed after the IPipe.configure() method, for each start and stop command of the adapter.
      Specified by:
      start in interface IPipe
      Overrides:
      start in class MessageSendingPipe
      Throws:
      PipeStartException
    • stop

      public void stop()
      Description copied from interface: IPipe
      Perform necessary actions to stop the Pipe.
      For instance, closing JMS connections, DBMS connections etc.
      Specified by:
      stop in interface IPipe
      Overrides:
      stop in class MessageSendingPipe
    • setMessageLog

      @Reintroduce public void setMessageLog(ITransactionalStorage<?> messageLog)
      Description copied from class: MessageSendingPipe
      log of all messages sent
      Overrides:
      setMessageLog in class MessageSendingPipe
    • setInputWrapper

      @Reintroduce public void setInputWrapper(IWrapperPipe inputWrapper)
      Description copied from class: MessageSendingPipe
      specification of Pipe to wrap or unwrap request messages
      Overrides:
      setInputWrapper in class MessageSendingPipe
    • setInputValidator

      @Reintroduce public void setInputValidator(IValidator inputValidator)
      Description copied from class: MessageSendingPipe
      specification of Pipe to validate request messages, or request and response message if configured as mixed mode validator
      Overrides:
      setInputValidator in class MessageSendingPipe
    • setSender

      @Reintroduce public void setSender(ISender sender)
      Description copied from class: MessageSendingPipe
      The sender that should send the message
      Overrides:
      setSender in class MessageSendingPipe
    • setListener

      @Mandatory public void setListener(ICorrelatedPullingListener<M> listener)
      Listener for responses on the request sent
    • setCorrelationIDStyleSheet

      public void setCorrelationIDStyleSheet(String string)
      Stylesheet to extract correlationid from message
    • setCorrelationIDXPath

      public void setCorrelationIDXPath(String string)
      XPath expression to extract correlationid from message
    • setCorrelationIDNamespaceDefs

      public void setCorrelationIDNamespaceDefs(String correlationIDNamespaceDefs)
      Namespace defintions for correlationIDXPath. Must be in the form of a comma or space separated list of prefix=namespaceUri-definitions
    • setCorrelationIDSessionKey

      public void setCorrelationIDSessionKey(String string)
      Key of a PipelineSession-variable. If specified, the value of the PipelineSession variable is used as input for the XPathExpression or stylesheet, instead of the current input message
    • setLabelStyleSheet

      public void setLabelStyleSheet(String string)
      Stylesheet to extract label from message
    • setLabelXPath

      public void setLabelXPath(String string)
      XPath expression to extract label from message
    • setLabelNamespaceDefs

      public void setLabelNamespaceDefs(String labelXNamespaceDefs)
      Namespace definitions for labelXPath. Must be in the form of a comma or space separated list of prefix=namespaceUri-definitions
    • setAuditTrailXPath

      public void setAuditTrailXPath(String string)
      XPath expression to extract audit trail from message
    • setAuditTrailNamespaceDefs

      public void setAuditTrailNamespaceDefs(String auditTrailNamespaceDefs)
      Namespace defintions for auditTrailXPath. Must be in the form of a comma or space separated list of prefix=namespaceUri-definitions
    • setAuditTrailSessionKey

      public void setAuditTrailSessionKey(String string)
      Key of a PipelineSession-variable. If specified, the value of the PipelineSession variable is used as audit trail (instead of the default 'no audit trail)
    • setUseInputForExtract

      public void setUseInputForExtract(boolean b)
      If set true, the input of the Pipe is used to extract audit trail, correlationid and label (instead of the wrapped input)
      Default value
      true
    • getListener

      public ICorrelatedPullingListener<M> getListener()
    • setListenerProcessor

      public void setListenerProcessor(ListenerProcessor<M> listenerProcessor)
    • getCorrelationIDStyleSheet

      public String getCorrelationIDStyleSheet()
    • getCorrelationIDXPath

      public String getCorrelationIDXPath()
    • getCorrelationIDNamespaceDefs

      public String getCorrelationIDNamespaceDefs()
    • getCorrelationIDSessionKey

      public String getCorrelationIDSessionKey()
    • getLabelStyleSheet

      public String getLabelStyleSheet()
    • getLabelXPath

      public String getLabelXPath()
    • getLabelNamespaceDefs

      public String getLabelNamespaceDefs()
    • getAuditTrailSessionKey

      public String getAuditTrailSessionKey()
    • getAuditTrailXPath

      public String getAuditTrailXPath()
    • getAuditTrailNamespaceDefs

      public String getAuditTrailNamespaceDefs()
    • isUseInputForExtract

      public boolean isUseInputForExtract()