public abstract class UniDirectionalResponseEgressConnectorElement<S extends SenderConfig,C extends EgressContext> extends EgressConnectorElement<S,C>
As an example, an out-only EgressConnector such as a JMSEgressConnector will send the message to an external
JMS endpoint and the external endpoint will not return a response and the integration flow will be completed.
In that case if the JMSEgressConnector is extended by UniDirectionalResponseEgressConnectorElement
, developer
will be able to continue the integration flow with the original message which has been sent to the external system,
if the message was successfully delivered to the external endpoint.
NOTE: For any EgressConnector which extends UniDirectionalResponseEgressConnectorElement
, it is a MUST for
the corresponding TransportSender
to specify its exchange pattern to be ExchangePattern.OUT_IN
logger
Constructor and Description |
---|
UniDirectionalResponseEgressConnectorElement() |
Modifier and Type | Method and Description |
---|---|
protected ExecutionResult |
continueFlow(ExecutionResult sendingStatus,
XMessageContext messageContext)
The implementation of this method is responsible for continuing the execution of the message flow after
the message has been sent out to an external system which does not return a response.
|
XProcessingElement |
getResponseProcessor() |
boolean |
isCompleteFlow() |
void |
setCompleteFlow(boolean completeFlow) |
void |
setResponseProcessor(XProcessingElement responseProcessor) |
getAdditionalProperties, getIntegrationFlow, getOperation, getSender, getSenderExchangePattern, getSendingFailedStream, getSendingSuccessStream, getWeight, initEgressConnector, initElement, newSender, process, receiveResponse, sendMessage, setEgressFuture, setIntegrationFlow, setOperation, setWeight
destroy, destroyElement, getBeanName, getEntityId, getErrorHandler, getFlowId, getMetricsEngine, getProject, getProjectId, getProjectVersion, getResource, getServerConfig, getStatus, init, processMessage, setBeanName, setErrorHandler, setFlowId, setProject
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEgressContext, getSenderConfig
cast, getBeanName, getFlowId, getProject, getStatus, processMessage, setFlowId, setProject
destroy, init
getEntityId, getFlowId, getMetricsEngine, getProjectId, getProjectVersion
public UniDirectionalResponseEgressConnectorElement()
protected final ExecutionResult continueFlow(ExecutionResult sendingStatus, XMessageContext messageContext)
EgressConnectorElement
UniDirectionalResponseEgressConnectorElement
. The default implementation will return the execution
result returned by the TransportSender
.
NOTE: For any EgressConnector which implements this method, it is a MUST for the corresponding
TransportSender
to specify its exchange pattern to be ExchangePattern.OUT_IN
continueFlow
in class EgressConnectorElement<S extends SenderConfig,C extends EgressContext>
sendingStatus
- The ExecutionResult
result returned by the TransportSender
messageContext
- The XMessageContext
sent to the external systemExecutionResult
from the rest of the flowpublic XProcessingElement getResponseProcessor()
public void setResponseProcessor(XProcessingElement responseProcessor)
public boolean isCompleteFlow()
public void setCompleteFlow(boolean completeFlow)
Copyright © 2016–2019 AdroitLogic. All rights reserved.