Package org.frankframework.pipes
Class AsyncSenderWithListenerPipe<M>
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.pipes.MessageSendingPipe
org.frankframework.pipes.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
-
Nested Class Summary
Nested classes/interfaces inherited from class org.frankframework.pipes.MessageSendingPipe
MessageSendingPipe.LinkMethod
-
Field Summary
Fields inherited from class org.frankframework.pipes.MessageSendingPipe
configurationMetrics, INPUT_VALIDATOR_NAME_PREFIX, INPUT_VALIDATOR_NAME_SUFFIX, INPUT_WRAPPER_NAME_PREFIX, INPUT_WRAPPER_NAME_SUFFIX, MAX_RETRY_INTERVAL, MESSAGE_LOG_NAME_PREFIX, MESSAGE_LOG_NAME_SUFFIX, MIN_RETRY_INTERVAL, msgLog, OUTPUT_VALIDATOR_NAME_PREFIX, OUTPUT_VALIDATOR_NAME_SUFFIX, OUTPUT_WRAPPER_NAME_PREFIX, OUTPUT_WRAPPER_NAME_SUFFIX, PIPE_CLEAR_TIMEOUT_MONITOR_EVENT, PIPE_EXCEPTION_MONITOR_EVENT, PIPE_TIMEOUT_MONITOR_EVENT
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUnique
Fields inherited from class org.frankframework.core.TransactionAttributes
log
Fields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checks for correct configuration of forwardprotected String
doLogToMessageLog
(Message input, PipeLineSession session, Message originalMessage, String messageID, String correlationID) boolean
protected PipeRunResult
postSendAction
(PipeRunResult sendResult, String correlationID, PipeLineSession session) protected void
void
setAuditTrailNamespaceDefs
(String auditTrailNamespaceDefs) Namespace defintions for auditTrailXPath.void
setAuditTrailSessionKey
(String string) Key of a PipelineSession-variable.void
setAuditTrailXPath
(String string) XPath expression to extract audit trail from messagevoid
setCorrelationIDNamespaceDefs
(String correlationIDNamespaceDefs) Namespace defintions for correlationIDXPath.void
setCorrelationIDSessionKey
(String string) Key of a PipelineSession-variable.void
setCorrelationIDStyleSheet
(String string) Stylesheet to extract correlationid from messagevoid
setCorrelationIDXPath
(String string) XPath expression to extract correlationid from messagevoid
setInputValidator
(IValidator inputValidator) specification of Pipe to validate request messages, or request and response message if configured as mixed mode validatorvoid
setInputWrapper
(IWrapperPipe inputWrapper) specification of Pipe to wrap or unwrap request messagesvoid
setLabelNamespaceDefs
(String labelXNamespaceDefs) Namespace definitions for labelXPath.void
setLabelStyleSheet
(String string) Stylesheet to extract label from messagevoid
setLabelXPath
(String string) XPath expression to extract label from messagevoid
setListener
(ICorrelatedPullingListener<M> listener) Listener for responses on the request sentvoid
setListenerProcessor
(ListenerProcessor<M> listenerProcessor) void
setMessageLog
(ITransactionalStorage<?> messageLog) log of all messages sentvoid
The sender that should send the messagevoid
setUseInputForExtract
(boolean b) If settrue
, the input of the Pipe is used to extract audit trail, correlationid and label (instead of the wrapped input)void
start()
Perform necessary action to start the pipe.void
stop()
Perform necessary actions to stop thePipe
.
For instance, closing JMS connections, DBMS connections etc.Methods inherited from class org.frankframework.pipes.MessageSendingPipe
consumesSessionVariable, doPipe, getCheckRootTag, getConfigurationMetrics, getExceptionOnResult, getHideMethod, getInputValidator, getInputWrapper, getLinkMethod, getMaxRetries, getMessageLog, getOutputValidator, getOutputWrapper, getPresumedTimeOutInterval, getResultOnTimeOut, getRetryMaxInterval, getRetryMinInterval, getRetryNamespaceDefs, getRetryXPath, getSender, getStubFilename, getTimeoutOnResult, increaseRetryIntervalAndWait, isCheckXmlWellFormed, preserve, sendMessage, sendMessageWithRetries, setCheckRootTag, setCheckXmlWellFormed, setConfigurationMetrics, setExceptionOnResult, setHideMethod, setHideRegex, setLinkMethod, setMaxRetries, setName, setOutputValidator, setOutputWrapper, setPipeProcessor, setPresumedTimeOutInterval, setResultOnTimeOut, setRetryMaxInterval, setRetryMinInterval, setRetryNamespaceDefs, setRetryXPath, setStubFilename, setTimeoutOnResult, setTimeOutOnResult, sizeStatisticsEnabled, storeMessage
Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
Methods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, hasRegisteredForward, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setLocker, setLogIntermediaryResults, setMaxThreads, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, throwEvent
Methods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, getTransactionAttribute, getTransactionTimeout, getTxDef, isTransacted, isTransacted, setTransacted, setTransactionAttribute, setTransactionTimeout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.frankframework.core.INamedObject
getName
Methods inherited from interface org.frankframework.core.IPipe
throwEvent
-
Constructor Details
-
AsyncSenderWithListenerPipe
public AsyncSenderWithListenerPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipe
checks for correct configuration of forward- Specified by:
configure
in interfaceIConfigurable
- Specified by:
configure
in interfaceIPipe
- Overrides:
configure
in classMessageSendingPipe
- Throws:
ConfigurationException
-
propagateName
protected void propagateName()- Overrides:
propagateName
in classMessageSendingPipe
-
doLogToMessageLog
protected String doLogToMessageLog(Message input, PipeLineSession session, Message originalMessage, String messageID, String correlationID) throws SenderException - Overrides:
doLogToMessageLog
in classMessageSendingPipe
- Throws:
SenderException
-
postSendAction
protected PipeRunResult postSendAction(PipeRunResult sendResult, String correlationID, PipeLineSession session) throws ListenerException, TimeoutException - Overrides:
postSendAction
in classMessageSendingPipe
- Throws:
ListenerException
TimeoutException
-
start
public void start()Description copied from interface:IPipe
Perform necessary action to start the pipe. This method is executed after theIPipe.configure()
method, for each start and stop command of the adapter.- Specified by:
start
in interfaceIPipe
- Overrides:
start
in classMessageSendingPipe
-
stop
public void stop()Description copied from interface:IPipe
Perform necessary actions to stop thePipe
.
For instance, closing JMS connections, DBMS connections etc.- Specified by:
stop
in interfaceIPipe
- Overrides:
stop
in classMessageSendingPipe
-
setMessageLog
Description copied from class:MessageSendingPipe
log of all messages sent- Overrides:
setMessageLog
in classMessageSendingPipe
-
setInputWrapper
Description copied from class:MessageSendingPipe
specification of Pipe to wrap or unwrap request messages- Overrides:
setInputWrapper
in classMessageSendingPipe
-
setInputValidator
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 classMessageSendingPipe
-
setSender
Description copied from class:MessageSendingPipe
The sender that should send the message- Overrides:
setSender
in classMessageSendingPipe
-
setCorrelationIDStyleSheet
Stylesheet to extract correlationid from message -
setCorrelationIDXPath
XPath expression to extract correlationid from message -
setCorrelationIDNamespaceDefs
Namespace defintions for correlationIDXPath. Must be in the form of a comma or space separated list ofprefix=namespaceUri
-definitions -
setCorrelationIDSessionKey
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
Stylesheet to extract label from message -
setLabelXPath
XPath expression to extract label from message -
setLabelNamespaceDefs
Namespace definitions for labelXPath. Must be in the form of a comma or space separated list ofprefix=namespaceUri
-definitions -
setAuditTrailXPath
XPath expression to extract audit trail from message -
setAuditTrailNamespaceDefs
Namespace defintions for auditTrailXPath. Must be in the form of a comma or space separated list ofprefix=namespaceUri
-definitions -
setAuditTrailSessionKey
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 settrue
, the input of the Pipe is used to extract audit trail, correlationid and label (instead of the wrapped input)- Default value
- true
-
getListener
-
setListenerProcessor
-
getCorrelationIDStyleSheet
-
getCorrelationIDXPath
-
getCorrelationIDNamespaceDefs
-
getCorrelationIDSessionKey
-
getLabelStyleSheet
-
getLabelXPath
-
getLabelNamespaceDefs
-
getAuditTrailSessionKey
-
getAuditTrailXPath
-
getAuditTrailNamespaceDefs
-
isUseInputForExtract
public boolean isUseInputForExtract()
-