B
- the IntegrationFlowDefinition
implementation type.public abstract class IntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>> extends BaseIntegrationFlowDefinition<B>
BaseIntegrationFlowDefinition
extension for syntax sugar with generics for some
type-based EIP-methods when an expected payload type is assumed from upstream.
For more explicit type conversion the methods with a Class
argument are recommended for use.BaseIntegrationFlowDefinition.ReplyProducerCleaner
integrationComponents
Modifier and Type | Method and Description |
---|---|
B |
aggregate()
Populate the
AggregatingMessageHandler with default options. |
B |
aggregate(java.util.function.Consumer<AggregatorSpec> aggregator)
Populate the
AggregatingMessageHandler with provided options from AggregatorSpec . |
B |
barrier(long timeout)
Populate a
BarrierMessageHandler
instance for provided timeout. |
B |
barrier(long timeout,
java.util.function.Consumer<BarrierSpec> barrierConfigurer)
Populate a
BarrierMessageHandler
instance for provided timeout and options from BarrierSpec and endpoint
options from GenericEndpointSpec . |
B |
bridge()
Populate a
BridgeHandler to the current integration flow position. |
B |
bridge(java.util.function.Consumer<GenericEndpointSpec<BridgeHandler>> endpointConfigurer)
Populate a
BridgeHandler to the current integration flow position. |
B |
channel(java.util.function.Function<Channels,MessageChannelSpec<?,?>> channels)
Populate a
MessageChannel instance
at the current IntegrationFlow chain position using the Channels
factory fluent API. |
B |
channel(MessageChannel messageChannel)
Populate the provided
MessageChannel instance
at the current IntegrationFlow chain position. |
B |
channel(MessageChannelSpec<?,?> messageChannelSpec)
Populate a
MessageChannel instance
at the current IntegrationFlow chain position using the MessageChannelSpec
fluent API. |
B |
channel(String messageChannelName)
Populate a
MessageChannelReference instance
at the current IntegrationFlow chain position. |
B |
claimCheckIn(MessageStore messageStore)
|
B |
claimCheckIn(MessageStore messageStore,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
|
B |
claimCheckOut(MessageStore messageStore)
Populate the
MessageTransformingHandler for the ClaimCheckOutTransformer
with provided MessageStore . |
B |
claimCheckOut(MessageStore messageStore,
boolean removeMessage)
Populate the
MessageTransformingHandler for the ClaimCheckOutTransformer
with provided MessageStore and removeMessage flag. |
B |
claimCheckOut(MessageStore messageStore,
boolean removeMessage,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler for the ClaimCheckOutTransformer
with provided MessageStore and removeMessage flag. |
B |
controlBus()
Populate the
Control Bus EI Pattern specific MessageHandler implementation
at the current IntegrationFlow chain position. |
B |
controlBus(java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate the
Control Bus EI Pattern specific MessageHandler implementation
at the current IntegrationFlow chain position. |
<P> B |
convert(Class<P> payloadType)
Populate the
MessageTransformingHandler instance
for the provided payloadType to convert at runtime. |
<P> B |
convert(Class<P> payloadType,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler instance
for the provided payloadType to convert at runtime. |
B |
delay(String groupId)
Populate a
DelayHandler to the current integration flow position
with default options. |
B |
delay(String groupId,
java.util.function.Consumer<DelayerEndpointSpec> endpointConfigurer)
Populate a
DelayHandler to the current integration flow position. |
B |
enrich(java.util.function.Consumer<EnricherSpec> enricherConfigurer)
Populate a
ContentEnricher
to the current integration flow position
with provided options. |
B |
enrichHeaders(java.util.function.Consumer<HeaderEnricherSpec> headerEnricherConfigurer)
|
B |
enrichHeaders(Map<String,Object> headers)
|
B |
enrichHeaders(Map<String,Object> headers,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
|
B |
enrichHeaders(MapBuilder<?,String,Object> headers)
Populate a
MessageTransformingHandler for
a HeaderEnricher
using header values from provided MapBuilder . |
B |
enrichHeaders(MapBuilder<?,String,Object> headers,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate a
MessageTransformingHandler for
a HeaderEnricher
using header values from provided MapBuilder . |
<P> B |
filter(Class<P> payloadType,
GenericSelector<P> genericSelector)
|
<P> B |
filter(Class<P> payloadType,
GenericSelector<P> genericSelector,
java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
|
<P> B |
filter(GenericSelector<P> genericSelector)
|
<P> B |
filter(GenericSelector<P> genericSelector,
java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
|
B |
filter(MessageProcessorSpec<?> messageProcessorSpec)
Populate a
MessageFilter with MethodInvokingSelector
for the MessageProcessor from
the provided MessageProcessorSpec . |
B |
filter(MessageProcessorSpec<?> messageProcessorSpec,
java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
Populate a
MessageFilter with MethodInvokingSelector
for the MessageProcessor from
the provided MessageProcessorSpec . |
B |
filter(Object service)
Populate a
MessageFilter with MethodInvokingSelector for the
discovered method of the provided service. |
B |
filter(Object service,
String methodName)
Populate a
MessageFilter with MethodInvokingSelector for the
method of the provided service. |
B |
filter(Object service,
String methodName,
java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
Populate a
MessageFilter with MethodInvokingSelector for the
method of the provided service. |
B |
filter(String expression)
Populate a
MessageFilter with MessageSelector for the provided SpEL expression. |
B |
filter(String expression,
java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
Populate a
MessageFilter with MessageSelector for the provided SpEL expression. |
B |
fixedSubscriberChannel()
Populate an
FixedSubscriberChannel instance
at the current IntegrationFlow chain position. |
B |
fixedSubscriberChannel(String messageChannelName)
Populate an
FixedSubscriberChannel instance
at the current IntegrationFlow chain position. |
<I,O> B |
fluxTransform(java.util.function.Function<? super reactor.core.publisher.Flux<Message<I>>,? extends org.reactivestreams.Publisher<O>> fluxFunction)
Populate a
FluxMessageChannel to start a reactive processing for upstream data,
wrap it to a Flux , apply provided Function via Flux.transform(Function)
and emit the result to one more FluxMessageChannel , subscribed in the downstream flow. |
B |
gateway(IntegrationFlow flow)
Populate the "artificial"
GatewayMessageHandler for the
provided subflow . |
B |
gateway(IntegrationFlow flow,
java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
Populate the "artificial"
GatewayMessageHandler for the
provided subflow with options from GatewayEndpointSpec . |
B |
gateway(MessageChannel requestChannel)
Populate the "artificial"
GatewayMessageHandler
for the provided requestChannel to send a request with default options. |
B |
gateway(MessageChannel requestChannel,
java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
Populate the "artificial"
GatewayMessageHandler for the
provided requestChannel to send a request with options from
GatewayEndpointSpec . |
B |
gateway(String requestChannel)
Populate the "artificial"
GatewayMessageHandler for the
provided requestChannel to send a request with default options. |
B |
gateway(String requestChannel,
java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
Populate the "artificial"
GatewayMessageHandler for the
provided requestChannel to send a request with options from
GatewayEndpointSpec . |
<P> B |
handle(Class<P> payloadType,
GenericHandler<P> handler)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler at runtime. |
<P> B |
handle(Class<P> payloadType,
GenericHandler<P> handler,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler at runtime. |
<P> B |
handle(GenericHandler<P> handler)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler at runtime. |
<P> B |
handle(GenericHandler<P> handler,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler at runtime. |
<H extends MessageHandler> |
handle(H messageHandler,
java.util.function.Consumer<GenericEndpointSpec<H>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the provided
MessageHandler implementation. |
B |
handle(MessageHandler messageHandler)
Populate a
ServiceActivatingHandler for the provided
MessageHandler implementation. |
<H extends MessageHandler> |
handle(MessageHandlerSpec<?,H> messageHandlerSpec)
Populate a
ServiceActivatingHandler for the selected protocol specific
MessageHandler implementation from Namespace Factory :
|
<H extends MessageHandler> |
handle(MessageHandlerSpec<?,H> messageHandlerSpec,
java.util.function.Consumer<GenericEndpointSpec<H>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the selected protocol specific
MessageHandler implementation from Namespace Factory :
In addition accept options for the integration endpoint using GenericEndpointSpec . |
B |
handle(MessageProcessorSpec<?> messageProcessorSpec)
Populate a
ServiceActivatingHandler for the
MessageProcessor from the provided
MessageProcessorSpec . |
B |
handle(MessageProcessorSpec<?> messageProcessorSpec,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the
MessageProcessor from the provided
MessageProcessorSpec . |
B |
handle(Object service)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the discovered method for provided service at runtime. |
B |
handle(Object service,
String methodName)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the method for provided bean at runtime. |
B |
handle(Object service,
String methodName,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the method for provided bean at runtime. |
B |
handle(String beanName,
String methodName)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the method for provided bean at runtime. |
B |
handle(String beanName,
String methodName,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler for the
MethodInvokingMessageProcessor
to invoke the method for provided bean at runtime. |
B |
headerFilter(HeaderFilter headerFilter,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the provided
MessageTransformingHandler for the provided
HeaderFilter . |
B |
headerFilter(String... headersToRemove)
Provide the
HeaderFilter to the current StandardIntegrationFlow . |
B |
headerFilter(String headersToRemove,
boolean patternMatch)
Provide the
HeaderFilter to the current StandardIntegrationFlow . |
B |
log()
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category. |
B |
log(Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> B |
log(java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function for the log message. |
B |
log(LoggingHandler.Level level)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for provided LoggingHandler.Level
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category. |
B |
log(LoggingHandler.Level level,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> B |
log(LoggingHandler.Level level,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function for the log message. |
B |
log(LoggingHandler.Level level,
String category)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level and logging category. |
B |
log(LoggingHandler.Level level,
String category,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and SpEL expression for the log message. |
<P> B |
log(LoggingHandler.Level level,
String category,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and Function for the log message. |
B |
log(LoggingHandler.Level level,
String category,
String logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and SpEL expression for the log message. |
B |
log(String category)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided logging category
and INFO logging level. |
B |
log(String category,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO
LoggingHandler.Level logging level,
the provided logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> B |
log(String category,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the provided logging category and Function for the log message. |
IntegrationFlow |
logAndReply()
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category. |
IntegrationFlow |
logAndReply(Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> IntegrationFlow |
logAndReply(java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function for the log message. |
IntegrationFlow |
logAndReply(LoggingHandler.Level level)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for provided LoggingHandler.Level
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category. |
IntegrationFlow |
logAndReply(LoggingHandler.Level level,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> IntegrationFlow |
logAndReply(LoggingHandler.Level level,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function for the log message. |
IntegrationFlow |
logAndReply(LoggingHandler.Level level,
String category)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level and logging category. |
IntegrationFlow |
logAndReply(LoggingHandler.Level level,
String category,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and SpEL expression for the log message. |
<P> IntegrationFlow |
logAndReply(LoggingHandler.Level level,
String category,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and Function for the log message. |
IntegrationFlow |
logAndReply(LoggingHandler.Level level,
String category,
String logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level, logging category
and SpEL expression for the log message. |
IntegrationFlow |
logAndReply(String category)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided logging category
and INFO logging level. |
IntegrationFlow |
logAndReply(String category,
Expression logExpression)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the INFO
LoggingHandler.Level logging level,
the provided logging category and SpEL expression to evaluate
logger message at runtime against the request Message . |
<P> IntegrationFlow |
logAndReply(String category,
java.util.function.Function<Message<P>,Object> function)
Populate a
WireTap for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler subscriber for the provided
LoggingHandler.Level logging level,
the provided logging category and Function for the log message. |
IntegrationFlow |
nullChannel()
Add a bean into this flow
definition as a terminal operator.
|
B |
publishSubscribeChannel(java.util.function.Consumer<PublishSubscribeSpec> publishSubscribeChannelConfigurer)
The
PublishSubscribeChannel BaseIntegrationFlowDefinition.channel(java.lang.String)
method specific implementation to allow the use of the 'subflow' subscriber capability. |
B |
publishSubscribeChannel(Executor executor,
java.util.function.Consumer<PublishSubscribeSpec> publishSubscribeChannelConfigurer)
The
PublishSubscribeChannel BaseIntegrationFlowDefinition.channel(java.lang.String)
method specific implementation to allow the use of the 'subflow' subscriber capability. |
B |
resequence()
Populate the
ResequencingMessageHandler with
default options. |
B |
resequence(java.util.function.Consumer<ResequencerSpec> resequencer)
Populate the
ResequencingMessageHandler with
provided options from ResequencerSpec . |
B |
route(AbstractMessageRouter router)
Populate the provided
AbstractMessageRouter implementation to the
current integration flow position. |
<P,T> B |
route(Class<P> payloadType,
java.util.function.Function<P,T> router,
java.util.function.Consumer<RouterSpec<T,MethodInvokingRouter>> routerConfigurer)
Populate the
MethodInvokingRouter for provided Function
and payload type and options from RouterSpec . |
<S,T> B |
route(Class<S> payloadType,
java.util.function.Function<S,T> router)
Populate the
MethodInvokingRouter for provided Function
and payload type with default options. |
<S,T> B |
route(java.util.function.Function<S,T> router)
Populate the
MethodInvokingRouter for provided Function
with default options. |
<S,T> B |
route(java.util.function.Function<S,T> router,
java.util.function.Consumer<RouterSpec<T,MethodInvokingRouter>> routerConfigurer)
|
B |
route(MessageProcessorSpec<?> messageProcessorSpec)
Populate the
MethodInvokingRouter for the
MessageProcessor
from the provided MessageProcessorSpec with default options. |
B |
route(MessageProcessorSpec<?> messageProcessorSpec,
java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
Populate the
MethodInvokingRouter for the
MessageProcessor
from the provided MessageProcessorSpec with default options. |
B |
route(Object service)
Populate the
MethodInvokingRouter for the discovered method
of the provided service and its method with default options. |
B |
route(Object service,
String methodName)
Populate the
MethodInvokingRouter for the method
of the provided service and its method with default options. |
B |
route(Object service,
String methodName,
java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
Populate the
MethodInvokingRouter for the method
of the provided service and its method with provided options from RouterSpec . |
<R extends AbstractMessageRouter> |
route(R router,
java.util.function.Consumer<GenericEndpointSpec<R>> endpointConfigurer)
Populate the provided
AbstractMessageRouter implementation to the
current integration flow position. |
B |
route(String expression)
Populate the
ExpressionEvaluatingRouter for provided SpEL expression
with default options. |
<T> B |
route(String expression,
java.util.function.Consumer<RouterSpec<T,ExpressionEvaluatingRouter>> routerConfigurer)
Populate the
ExpressionEvaluatingRouter for provided SpEL expression
with provided options from RouterSpec . |
B |
route(String beanName,
String method)
Populate the
MethodInvokingRouter for provided bean and its method
with default options. |
B |
route(String beanName,
String method,
java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
Populate the
MethodInvokingRouter for provided bean and its method
with provided options from RouterSpec . |
B |
routeByException(java.util.function.Consumer<RouterSpec<Class<? extends Throwable>,ErrorMessageExceptionTypeRouter>> routerConfigurer)
Populate the
ErrorMessageExceptionTypeRouter with options from the RouterSpec . |
B |
routeToRecipients(java.util.function.Consumer<RecipientListRouterSpec> routerConfigurer)
Populate the
RecipientListRouter with options from the RecipientListRouterSpec . |
B |
scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided RecipientListRouterSpec for scattering function
and default AggregatorSpec for gathering function. |
B |
scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer,
java.util.function.Consumer<AggregatorSpec> gatherer)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided RecipientListRouterSpec for scattering function
and AggregatorSpec for gathering function. |
B |
scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer,
java.util.function.Consumer<AggregatorSpec> gatherer,
java.util.function.Consumer<ScatterGatherSpec> scatterGather)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided RecipientListRouterSpec for scattering function
and AggregatorSpec for gathering function. |
B |
scatterGather(MessageChannel scatterChannel)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided MessageChannel for scattering function
and default AggregatorSpec for gathering function. |
B |
scatterGather(MessageChannel scatterChannel,
java.util.function.Consumer<AggregatorSpec> gatherer)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided MessageChannel for scattering function
and AggregatorSpec for gathering function. |
B |
scatterGather(MessageChannel scatterChannel,
java.util.function.Consumer<AggregatorSpec> gatherer,
java.util.function.Consumer<ScatterGatherSpec> scatterGather)
Populate a
ScatterGatherHandler to the current integration flow position
based on the provided MessageChannel for scattering function
and AggregatorSpec for gathering function. |
B |
split()
Populate the
DefaultMessageSplitter with default options
to the current integration flow position. |
B |
split(AbstractMessageSplitter splitter)
Populate the provided
AbstractMessageSplitter to the current integration
flow position. |
<P> B |
split(Class<P> payloadType,
java.util.function.Function<P,?> splitter)
Populate the
MethodInvokingSplitter to evaluate the provided
Function at runtime. |
<P> B |
split(Class<P> payloadType,
java.util.function.Function<P,?> splitter,
java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
Populate the
MethodInvokingSplitter to evaluate the provided
Function at runtime. |
B |
split(java.util.function.Consumer<SplitterEndpointSpec<DefaultMessageSplitter>> endpointConfigurer)
Populate the
DefaultMessageSplitter with provided options
to the current integration flow position. |
<P> B |
split(java.util.function.Function<P,?> splitter,
java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
Populate the
MethodInvokingSplitter to evaluate the provided
Function at runtime. |
<S extends AbstractMessageSplitter> |
split(MessageHandlerSpec<?,S> splitterMessageHandlerSpec)
Populate the provided
AbstractMessageSplitter to the current integration
flow position. |
<S extends AbstractMessageSplitter> |
split(MessageHandlerSpec<?,S> splitterMessageHandlerSpec,
java.util.function.Consumer<SplitterEndpointSpec<S>> endpointConfigurer)
Populate the provided
AbstractMessageSplitter to the current integration
flow position. |
B |
split(MessageProcessorSpec<?> messageProcessorSpec)
Populate the
MethodInvokingSplitter to evaluate the
MessageProcessor at runtime
from provided MessageProcessorSpec . |
B |
split(MessageProcessorSpec<?> messageProcessorSpec,
java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
Populate the
MethodInvokingSplitter to evaluate the
MessageProcessor at runtime
from provided MessageProcessorSpec . |
B |
split(Object service)
|
B |
split(Object service,
String methodName)
|
B |
split(Object service,
String methodName,
java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
|
<S extends AbstractMessageSplitter> |
split(S splitter,
java.util.function.Consumer<SplitterEndpointSpec<S>> endpointConfigurer)
Populate the provided
AbstractMessageSplitter to the current integration
flow position. |
B |
split(String expression)
Populate the
ExpressionEvaluatingSplitter with provided
SpEL expression. |
B |
split(String expression,
java.util.function.Consumer<SplitterEndpointSpec<ExpressionEvaluatingSplitter>> endpointConfigurer)
Populate the
ExpressionEvaluatingSplitter with provided
SpEL expression. |
B |
split(String beanName,
String methodName)
|
B |
split(String beanName,
String methodName,
java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
|
<P,T> B |
transform(Class<P> payloadType,
GenericTransformer<P,T> genericTransformer)
Populate the
MessageTransformingHandler instance for the provided
GenericTransformer for the specific payloadType to convert at
runtime. |
<P,T> B |
transform(Class<P> payloadType,
GenericTransformer<P,T> genericTransformer,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler instance for the provided GenericTransformer
for the specific payloadType to convert at runtime. |
<S,T> B |
transform(GenericTransformer<S,T> genericTransformer)
Populate the
MessageTransformingHandler instance for the provided
GenericTransformer . |
<S,T> B |
transform(GenericTransformer<S,T> genericTransformer,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler instance for the provided
GenericTransformer . |
B |
transform(MessageProcessorSpec<?> messageProcessorSpec)
Populate the
MessageTransformingHandler instance for the
MessageProcessor from provided MessageProcessorSpec . |
B |
transform(MessageProcessorSpec<?> messageProcessorSpec,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler instance for the
MessageProcessor from provided MessageProcessorSpec . |
B |
transform(Object service)
Populate the
MessageTransformingHandler for the MethodInvokingTransformer
to invoke the discovered service method at runtime. |
B |
transform(Object service,
String methodName)
Populate the
MessageTransformingHandler for the MethodInvokingTransformer
to invoke the service method at runtime. |
B |
transform(Object service,
String methodName,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
Populate the
MessageTransformingHandler for the MethodInvokingTransformer
to invoke the service method at runtime. |
B |
transform(String expression)
|
B |
transform(String expression,
java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
|
B |
trigger(MessageTriggerAction triggerAction)
Populate a
ServiceActivatingHandler instance to perform MessageTriggerAction . |
B |
trigger(MessageTriggerAction triggerAction,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler instance to perform MessageTriggerAction
and endpoint options from GenericEndpointSpec . |
B |
trigger(String triggerActionId)
Populate a
ServiceActivatingHandler instance to perform MessageTriggerAction . |
B |
trigger(String triggerActionId,
java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
Populate a
ServiceActivatingHandler instance to perform MessageTriggerAction
and endpoint options from GenericEndpointSpec . |
B |
wireTap(IntegrationFlow flow)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(IntegrationFlow flow,
java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(MessageChannel wireTapChannel)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(MessageChannel wireTapChannel,
java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(String wireTapChannel)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(String wireTapChannel,
java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
B |
wireTap(WireTapSpec wireTapSpec)
Populate the
Wire Tap EI Pattern specific
ChannelInterceptor implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel . |
_this, addComponent, addComponent, addComponents, currentComponent, currentMessageChannel, get, getCurrentComponent, getCurrentMessageChannel, getIntegrationComponents, isImplicitChannel, setImplicitChannel, toReactivePublisher
public <S,T> B transform(GenericTransformer<S,T> genericTransformer)
MessageTransformingHandler
instance for the provided
GenericTransformer
. Use transform(Class, GenericTransformer)
if
you need to access the entire message.S
- the source type - 'transform from'.T
- the target type - 'transform to'.genericTransformer
- the GenericTransformer
to populate.IntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
public <S,T> B transform(GenericTransformer<S,T> genericTransformer, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
MessageTransformingHandler
instance for the provided
GenericTransformer
. In addition accept options for the integration endpoint
using GenericEndpointSpec
. Use
transform(Class, GenericTransformer, Consumer)
if you need to access the
entire message.S
- the source type - 'transform from'.T
- the target type - 'transform to'.genericTransformer
- the GenericTransformer
to populate.endpointConfigurer
- the Consumer
to provide integration endpoint
options.IntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
,
GenericEndpointSpec
public <P> B filter(GenericSelector<P> genericSelector)
MessageFilter
with MethodInvokingSelector
for the provided GenericSelector
.
Typically used with a Java 8 Lambda expression:
.filter("World"::equals)
Use filter(Class, GenericSelector)
if you need to access the entire
message.P
- the source payload type.genericSelector
- the GenericSelector
to use.IntegrationFlowDefinition
.public <P> B filter(GenericSelector<P> genericSelector, java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
MessageFilter
with MethodInvokingSelector
for the provided GenericSelector
.
In addition accept options for the integration endpoint using FilterEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.filter("World"::equals, e -> e.autoStartup(false))
Use filter(Class, GenericSelector, Consumer)
if you need to access the entire
message.P
- the source payload type.genericSelector
- the GenericSelector
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.IntegrationFlowDefinition
.FilterEndpointSpec
public <P> B handle(GenericHandler<P> handler)
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler
at runtime.
Typically used with a Java 8 Lambda expression:
.<Integer>handle((p, h) -> p / 2)
Use handle(Class, GenericHandler)
if you need to access the entire
message.P
- the payload type to expect.handler
- the handler to invoke.IntegrationFlowDefinition
.LambdaMessageProcessor
public <P> B handle(GenericHandler<P> handler, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.<Integer>handle((p, h) -> p / 2, e -> e.autoStartup(false))
Use handle(Class, GenericHandler, Consumer)
if you need to access the entire
message.P
- the payload type to expect.handler
- the handler to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options.IntegrationFlowDefinition
.LambdaMessageProcessor
,
GenericEndpointSpec
public <P> B split(java.util.function.Function<P,?> splitter, java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
MethodInvokingSplitter
to evaluate the provided
Function
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.<String>split(p ->
jdbcTemplate.execute("SELECT * from FOO",
(PreparedStatement ps) ->
new ResultSetIterator<Foo>(ps.executeQuery(),
(rs, rowNum) ->
new Foo(rs.getInt(1), rs.getString(2))))
, e -> e.applySequence(false))
P
- the payload type.splitter
- the splitter Function
.endpointConfigurer
- the Consumer
to provide integration endpoint options.IntegrationFlowDefinition
.LambdaMessageProcessor
,
SplitterEndpointSpec
public <S,T> B route(java.util.function.Function<S,T> router)
MethodInvokingRouter
for provided Function
with default options.
Typically used with a Java 8 Lambda expression:
.route(p -> p.equals("foo") || p.equals("bar") ? new String[] {"foo", "bar"} : null)
Use route(Class, Function)
if you need to access the entire message.S
- the source payload type.T
- the target result type.router
- the Function
to use.IntegrationFlowDefinition
.public <S,T> B route(java.util.function.Function<S,T> router, java.util.function.Consumer<RouterSpec<T,MethodInvokingRouter>> routerConfigurer)
MethodInvokingRouter
for provided Function
with provided options from RouterSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.<Integer, Boolean>route(p -> p % 2 == 0,
m -> m.channelMapping("true", "evenChannel")
.subFlowMapping("false", f ->
f.<Integer>handle((p, h) -> p * 3))
.applySequence(false))
Use route(Class, Function, Consumer)
if you need to access the entire message.S
- the source payload type.T
- the target result type.router
- the Function
to use.routerConfigurer
- the Consumer
to provide MethodInvokingRouter
options.IntegrationFlowDefinition
.public B fixedSubscriberChannel()
BaseIntegrationFlowDefinition
FixedSubscriberChannel
instance
at the current IntegrationFlow
chain position.
The 'bean name' will be generated during the bean registration phase.fixedSubscriberChannel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.public B fixedSubscriberChannel(String messageChannelName)
BaseIntegrationFlowDefinition
FixedSubscriberChannel
instance
at the current IntegrationFlow
chain position.
The provided messageChannelName
is used for the bean registration.fixedSubscriberChannel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageChannelName
- the bean name to use.BaseIntegrationFlowDefinition
.public B channel(String messageChannelName)
BaseIntegrationFlowDefinition
MessageChannelReference
instance
at the current IntegrationFlow
chain position.
The provided messageChannelName
is used for the bean registration
(DirectChannel
), if there is no such a bean
in the application context. Otherwise the existing MessageChannel
bean is used
to wire integration endpoints.channel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageChannelName
- the bean name to use.BaseIntegrationFlowDefinition
.public B channel(MessageChannelSpec<?,?> messageChannelSpec)
BaseIntegrationFlowDefinition
MessageChannel
instance
at the current IntegrationFlow
chain position using the MessageChannelSpec
fluent API.channel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageChannelSpec
- the MessageChannelSpec
to use.BaseIntegrationFlowDefinition
.MessageChannels
public B channel(MessageChannel messageChannel)
BaseIntegrationFlowDefinition
MessageChannel
instance
at the current IntegrationFlow
chain position.
The messageChannel
can be an existing bean, or fresh instance, in which case
the IntegrationFlowBeanPostProcessor
will populate it as a bean with a generated name.channel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageChannel
- the MessageChannel
to populate.BaseIntegrationFlowDefinition
.public B channel(java.util.function.Function<Channels,MessageChannelSpec<?,?>> channels)
BaseIntegrationFlowDefinition
MessageChannel
instance
at the current IntegrationFlow
chain position using the Channels
factory fluent API.channel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
channels
- the Function
to use.BaseIntegrationFlowDefinition
.public B publishSubscribeChannel(java.util.function.Consumer<PublishSubscribeSpec> publishSubscribeChannelConfigurer)
BaseIntegrationFlowDefinition
PublishSubscribeChannel
BaseIntegrationFlowDefinition.channel(java.lang.String)
method specific implementation to allow the use of the 'subflow' subscriber capability.publishSubscribeChannel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
publishSubscribeChannelConfigurer
- the Consumer
to specify
PublishSubscribeSpec
options including 'subflow' definition.BaseIntegrationFlowDefinition
.public B publishSubscribeChannel(Executor executor, java.util.function.Consumer<PublishSubscribeSpec> publishSubscribeChannelConfigurer)
BaseIntegrationFlowDefinition
PublishSubscribeChannel
BaseIntegrationFlowDefinition.channel(java.lang.String)
method specific implementation to allow the use of the 'subflow' subscriber capability.
Use the provided Executor
for the target subscribers.publishSubscribeChannel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
executor
- the Executor
to use.publishSubscribeChannelConfigurer
- the Consumer
to specify
PublishSubscribeSpec
options including 'subflow' definition.BaseIntegrationFlowDefinition
.public B wireTap(IntegrationFlow flow)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.filter("World"::equals)
.wireTap(sf -> sf.<String, String>transform(String::toUpperCase))
.handle(p -> process(p))
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
flow
- the IntegrationFlow
for wire-tap subflow as an alternative to the wireTapChannel
.BaseIntegrationFlowDefinition
.public B wireTap(String wireTapChannel)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
f -> f.wireTap("tapChannel")
.handle(p -> process(p))
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
wireTapChannel
- the MessageChannel
bean name to wire-tap.BaseIntegrationFlowDefinition
.public B wireTap(MessageChannel wireTapChannel)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.transform("payload")
.wireTap(tapChannel())
.channel("foo")
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
wireTapChannel
- the MessageChannel
to wire-tap.BaseIntegrationFlowDefinition
.public B wireTap(IntegrationFlow flow, java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.transform("payload")
.wireTap(sf -> sf.<String, String>transform(String::toUpperCase), wt -> wt.selector("payload == 'foo'"))
.channel("foo")
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
flow
- the IntegrationFlow
for wire-tap subflow as an alternative to the wireTapChannel
.wireTapConfigurer
- the Consumer
to accept options for the WireTap
.BaseIntegrationFlowDefinition
.public B wireTap(String wireTapChannel, java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.transform("payload")
.wireTap("tapChannel", wt -> wt.selector(m -> m.getPayload().equals("foo")))
.channel("foo")
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
wireTapChannel
- the MessageChannel
bean name to wire-tap.wireTapConfigurer
- the Consumer
to accept options for the WireTap
.BaseIntegrationFlowDefinition
.public B wireTap(MessageChannel wireTapChannel, java.util.function.Consumer<WireTapSpec> wireTapConfigurer)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.transform("payload")
.wireTap(tapChannel(), wt -> wt.selector(m -> m.getPayload().equals("foo")))
.channel("foo")
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
wireTapChannel
- the MessageChannel
to wire-tap.wireTapConfigurer
- the Consumer
to accept options for the WireTap
.BaseIntegrationFlowDefinition
.public B wireTap(WireTapSpec wireTapSpec)
BaseIntegrationFlowDefinition
Wire Tap
EI Pattern specific
ChannelInterceptor
implementation
to the current BaseIntegrationFlowDefinition.currentMessageChannel
.
It is useful when an implicit MessageChannel
is used between endpoints:
.transform("payload")
.wireTap(new WireTap(tapChannel().selector(m -> m.getPayload().equals("foo")))
.channel("foo")
This method can be used after any BaseIntegrationFlowDefinition.channel(java.lang.String)
for explicit MessageChannel
,
but with the caution do not impact existing ChannelInterceptor
s.wireTap
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
wireTapSpec
- the WireTapSpec
to use.
When this EIP-method is used in the end of flow, it appends nullChannel
to terminate flow properly,
Otherwise Dispatcher has no subscribers
exception is thrown for implicit DirectChannel
.
BaseIntegrationFlowDefinition
.public B controlBus()
BaseIntegrationFlowDefinition
Control Bus
EI Pattern specific MessageHandler
implementation
at the current IntegrationFlow
chain position.controlBus
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.ExpressionCommandMessageProcessor
public B controlBus(java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
Control Bus
EI Pattern specific MessageHandler
implementation
at the current IntegrationFlow
chain position.controlBus
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
endpointConfigurer
- the Consumer
to accept integration endpoint options.BaseIntegrationFlowDefinition
.ExpressionCommandMessageProcessor
,
GenericEndpointSpec
public B transform(String expression)
BaseIntegrationFlowDefinition
transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the Transformer
Expression
.BaseIntegrationFlowDefinition
.ExpressionEvaluatingTransformer
public B transform(String expression, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the Transformer
Expression
.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.ExpressionEvaluatingTransformer
public B transform(Object service)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the MethodInvokingTransformer
to invoke the discovered service method at runtime.transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.BaseIntegrationFlowDefinition
.ExpressionEvaluatingTransformer
public B transform(Object service, String methodName)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the MethodInvokingTransformer
to invoke the service method at runtime.transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
public B transform(Object service, String methodName, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the MethodInvokingTransformer
to invoke the service method at runtime.transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.ExpressionEvaluatingTransformer
public B transform(MessageProcessorSpec<?> messageProcessorSpec)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance for the
MessageProcessor
from provided MessageProcessorSpec
.
.transform(Scripts.script("classpath:myScript.py").variable("foo", bar()))
transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
public B transform(MessageProcessorSpec<?> messageProcessorSpec, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance for the
MessageProcessor
from provided MessageProcessorSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
.transform(Scripts.script("classpath:myScript.py").variable("foo", bar()),
e -> e.autoStartup(false))
transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
public <P> B convert(Class<P> payloadType)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance
for the provided payloadType
to convert at runtime.convert
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type - 'convert to'.payloadType
- the Class
for expected payload type.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
public <P,T> B transform(Class<P> payloadType, GenericTransformer<P,T> genericTransformer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance for the provided
GenericTransformer
for the specific payloadType
to convert at
runtime.transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type - 'transform from' or Message.class
.T
- the target type - 'transform to'.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the transformer.
Conversion to this type will be attempted, if necessary.genericTransformer
- the GenericTransformer
to populate.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
public <P> B convert(Class<P> payloadType, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance
for the provided payloadType
to convert at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.convert
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type - 'transform to'.payloadType
- the Class
for expected payload type.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
,
GenericEndpointSpec
public <P,T> B transform(Class<P> payloadType, GenericTransformer<P,T> genericTransformer, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
instance for the provided GenericTransformer
for the specific payloadType
to convert at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.transform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type - 'transform from', or Message.class
.T
- the target type - 'transform to'.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the transformer.
Conversion to this type will be attempted, if necessary.genericTransformer
- the GenericTransformer
to populate.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.MethodInvokingTransformer
,
LambdaMessageProcessor
,
GenericEndpointSpec
public B filter(String expression)
BaseIntegrationFlowDefinition
MessageFilter
with MessageSelector
for the provided SpEL expression.filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the SpEL expression.BaseIntegrationFlowDefinition
.public B filter(String expression, java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageFilter
with MessageSelector
for the provided SpEL expression.
In addition accept options for the integration endpoint using FilterEndpointSpec
:
.filter("payload.hot"), e -> e.autoStartup(false))
filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the SpEL expression.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.FilterEndpointSpec
public B filter(Object service)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the
discovered method of the provided service.filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.BaseIntegrationFlowDefinition
.MethodInvokingSelector
public B filter(Object service, String methodName)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the
method of the provided service.filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invokeBaseIntegrationFlowDefinition
.MethodInvokingSelector
public B filter(Object service, String methodName, java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the
method of the provided service.filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invokeendpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.MethodInvokingSelector
public B filter(MessageProcessorSpec<?> messageProcessorSpec)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the MessageProcessor
from
the provided MessageProcessorSpec
.
.filter(Scripts.script(scriptResource).lang("ruby"))
filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.BaseIntegrationFlowDefinition
.public B filter(MessageProcessorSpec<?> messageProcessorSpec, java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the MessageProcessor
from
the provided MessageProcessorSpec
.
In addition accept options for the integration endpoint using FilterEndpointSpec
.
.filter(Scripts.script(scriptResource).lang("ruby"),
e -> e.autoStartup(false))
filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public <P> B filter(Class<P> payloadType, GenericSelector<P> genericSelector)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the provided GenericSelector
.
Typically used with a Java 8 Lambda expression:
.filter(Date.class, p -> p.after(new Date()))
filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the source payload type or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the selector.
Conversion to this type will be attempted, if necessary.genericSelector
- the GenericSelector
to use.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public <P> B filter(Class<P> payloadType, GenericSelector<P> genericSelector, java.util.function.Consumer<FilterEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageFilter
with MethodInvokingSelector
for the provided GenericSelector
.
In addition accept options for the integration endpoint using FilterEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.filter(Date.class, p -> p.after(new Date()), e -> e.autoStartup(false))
filter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the source payload type or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the selector.
Conversion to this type will be attempted, if necessary.genericSelector
- the GenericSelector
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
,
FilterEndpointSpec
public <H extends MessageHandler> B handle(MessageHandlerSpec<?,H> messageHandlerSpec)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the selected protocol specific
MessageHandler
implementation from Namespace Factory
:
.handle(Amqp.outboundAdapter(this.amqpTemplate).routingKeyExpression("headers.routingKey"))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
H
- the target MessageHandler
type.messageHandlerSpec
- the MessageHandlerSpec
to configure protocol specific
MessageHandler
.BaseIntegrationFlowDefinition
.public B handle(MessageHandler messageHandler)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the provided
MessageHandler
implementation.
Can be used as Java 8 Lambda expression:
.handle(m -> logger.info(m.getPayload())
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageHandler
- the MessageHandler
to use.BaseIntegrationFlowDefinition
.public B handle(String beanName, String methodName)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the method
for provided bean
at runtime.handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean name to use.methodName
- the method to invoke.BaseIntegrationFlowDefinition
.public B handle(String beanName, String methodName, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the method
for provided bean
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean name to use.methodName
- the method to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public B handle(Object service)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the discovered method
for provided service
at runtime.handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service object to use.BaseIntegrationFlowDefinition
.public B handle(Object service, String methodName)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the method
for provided bean
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service object to use.methodName
- the method to invoke.BaseIntegrationFlowDefinition
.public B handle(Object service, String methodName, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the method
for provided bean
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service object to use.methodName
- the method to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public <P> B handle(Class<P> payloadType, GenericHandler<P> handler)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler
at runtime.
Typically used with a Java 8 Lambda expression:
.handle(Integer.class, (p, h) -> p / 2)
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type to expect, or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the handler.
Conversion to this type will be attempted, if necessary.handler
- the handler to invoke.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public <P> B handle(Class<P> payloadType, GenericHandler<P> handler, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MethodInvokingMessageProcessor
to invoke the provided GenericHandler
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.handle(Integer.class, (p, h) -> p / 2, e -> e.autoStartup(false))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type to expect or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the handler.
Conversion to this type will be attempted, if necessary.handler
- the handler to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public B handle(MessageProcessorSpec<?> messageProcessorSpec)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MessageProcessor
from the provided
MessageProcessorSpec
.
.handle(Scripts.script("classpath:myScript.ruby"))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.BaseIntegrationFlowDefinition
.public B handle(MessageProcessorSpec<?> messageProcessorSpec, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the
MessageProcessor
from the provided
MessageProcessorSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
.handle(Scripts.script("classpath:myScript.ruby"), e -> e.autoStartup(false))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public <H extends MessageHandler> B handle(MessageHandlerSpec<?,H> messageHandlerSpec, java.util.function.Consumer<GenericEndpointSpec<H>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the selected protocol specific
MessageHandler
implementation from Namespace Factory
:
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.handle(Amqp.outboundAdapter(this.amqpTemplate).routingKeyExpression("headers.routingKey"),
e -> e.autoStartup(false))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
H
- the MessageHandler
type.messageHandlerSpec
- the MessageHandlerSpec
to configure protocol specific
MessageHandler
.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public <H extends MessageHandler> B handle(H messageHandler, java.util.function.Consumer<GenericEndpointSpec<H>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
for the provided
MessageHandler
implementation.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Can be used as Java 8 Lambda expression:
.handle(m -> logger.info(m.getPayload()), e -> e.autoStartup(false))
handle
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
H
- the MessageHandler
type.messageHandler
- the MessageHandler
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public B bridge()
BaseIntegrationFlowDefinition
BridgeHandler
to the current integration flow position.bridge
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.bridge(Consumer)
public B bridge(java.util.function.Consumer<GenericEndpointSpec<BridgeHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
BridgeHandler
to the current integration flow position.
Typically used with a Java 8 Lambda expression:
.bridge(s -> s.poller(Pollers.fixedDelay(100))
.autoStartup(false)
.id("priorityChannelBridge"))
bridge
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
public B delay(String groupId)
BaseIntegrationFlowDefinition
DelayHandler
to the current integration flow position
with default options.delay
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
groupId
- the groupId
for delayed messages in the
MessageGroupStore
.BaseIntegrationFlowDefinition
.public B delay(String groupId, java.util.function.Consumer<DelayerEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
DelayHandler
to the current integration flow position.delay
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
groupId
- the groupId
for delayed messages in the
MessageGroupStore
.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.DelayerEndpointSpec
public B enrich(java.util.function.Consumer<EnricherSpec> enricherConfigurer)
BaseIntegrationFlowDefinition
ContentEnricher
to the current integration flow position
with provided options.
Typically used with a Java 8 Lambda expression:
.enrich(e -> e.requestChannel("enrichChannel")
.requestPayload(Message::getPayload)
.shouldClonePayload(false)
.autoStartup(false)
.<Map<String, String>>headerFunction("foo", m -> m.getPayload().get("name")))
enrich
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
enricherConfigurer
- the Consumer
to provide
ContentEnricher
options.BaseIntegrationFlowDefinition
.EnricherSpec
public B enrichHeaders(MapBuilder<?,String,Object> headers)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for
a HeaderEnricher
using header values from provided MapBuilder
.
Can be used together with Namespace Factory
:
.enrichHeaders(Mail.headers()
.subjectFunction(m -> "foo")
.from("foo@bar")
.toFunction(m -> new String[] {"bar@baz"}))
enrichHeaders
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headers
- the MapBuilder
to use.BaseIntegrationFlowDefinition
.public B enrichHeaders(MapBuilder<?,String,Object> headers, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for
a HeaderEnricher
using header values from provided MapBuilder
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Can be used together with Namespace Factory
:
.enrichHeaders(Mail.headers()
.subjectFunction(m -> "foo")
.from("foo@bar")
.toFunction(m -> new String[] {"bar@baz"}),
e -> e.autoStartup(false))
enrichHeaders
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headers
- the MapBuilder
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
public B enrichHeaders(Map<String,Object> headers, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
Map
of values to be used for the
Message
header enrichment.
values
can apply an Expression
to be evaluated against a request Message
.enrichHeaders
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headers
- the Map of headers to enrich.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
public B enrichHeaders(java.util.function.Consumer<HeaderEnricherSpec> headerEnricherConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for
a HeaderEnricher
as the result of provided Consumer
.
Typically used with a Java 8 Lambda expression:
.enrichHeaders(h -> h.header(FileHeaders.FILENAME, "foo.sitest")
.header("directory", new File(tmpDir, "fileWritingFlow")))
enrichHeaders
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headerEnricherConfigurer
- the Consumer
to use.BaseIntegrationFlowDefinition
.HeaderEnricherSpec
public B split()
BaseIntegrationFlowDefinition
DefaultMessageSplitter
with default options
to the current integration flow position.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.public B split(java.util.function.Consumer<SplitterEndpointSpec<DefaultMessageSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
DefaultMessageSplitter
with provided options
to the current integration flow position.
Typically used with a Java 8 Lambda expression:
.split(s -> s.applySequence(false).delimiters(","))
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
endpointConfigurer
- the Consumer
to provide integration endpoint options
and for DefaultMessageSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(String expression)
BaseIntegrationFlowDefinition
ExpressionEvaluatingSplitter
with provided
SpEL expression.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the splitter SpEL expression.
and for ExpressionEvaluatingSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(String expression, java.util.function.Consumer<SplitterEndpointSpec<ExpressionEvaluatingSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
ExpressionEvaluatingSplitter
with provided
SpEL expression.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the splitter SpEL expression.endpointConfigurer
- the Consumer
to provide integration endpoint options
and for ExpressionEvaluatingSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(Object service)
BaseIntegrationFlowDefinition
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.BaseIntegrationFlowDefinition
.MethodInvokingSplitter
public B split(Object service, String methodName)
BaseIntegrationFlowDefinition
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.BaseIntegrationFlowDefinition
.MethodInvokingSplitter
public B split(Object service, String methodName, java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the provided
method
of the bean
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.endpointConfigurer
- the Consumer
to provide integration endpoint options
and for MethodInvokingSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
,
MethodInvokingSplitter
public B split(String beanName, String methodName)
BaseIntegrationFlowDefinition
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean name to use.methodName
- the method to invoke at runtime.BaseIntegrationFlowDefinition
.public B split(String beanName, String methodName, java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the provided
method
of the bean
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean name to use.methodName
- the method to invoke at runtime.endpointConfigurer
- the Consumer
to provide integration endpoint options
and for MethodInvokingSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(MessageProcessorSpec<?> messageProcessorSpec)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the
MessageProcessor
at runtime
from provided MessageProcessorSpec
.
.split(Scripts.script("classpath:myScript.ruby"))
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the splitter MessageProcessorSpec
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(MessageProcessorSpec<?> messageProcessorSpec, java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the
MessageProcessor
at runtime
from provided MessageProcessorSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
.split(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000),
, e -> e.applySequence(false))
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the splitter MessageProcessorSpec
.endpointConfigurer
- the Consumer
to provide integration endpoint options
and for MethodInvokingSplitter
.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public <P> B split(Class<P> payloadType, java.util.function.Function<P,?> splitter)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the provided
Function
at runtime.
Typically used with a Java 8 Lambda expression:
.split(String.class, p ->
jdbcTemplate.execute("SELECT * from FOO",
(PreparedStatement ps) ->
new ResultSetIterator<Foo>(ps.executeQuery(),
(rs, rowNum) ->
new Foo(rs.getInt(1), rs.getString(2)))))
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the splitter.
Conversion to this type will be attempted, if necessary.splitter
- the splitter Function
.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public <P> B split(Class<P> payloadType, java.util.function.Function<P,?> splitter, java.util.function.Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingSplitter
to evaluate the provided
Function
at runtime.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.split(String.class, p ->
jdbcTemplate.execute("SELECT * from FOO",
(PreparedStatement ps) ->
new ResultSetIterator<Foo>(ps.executeQuery(),
(rs, rowNum) ->
new Foo(rs.getInt(1), rs.getString(2))))
, e -> e.applySequence(false))
split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the payload type or Message.class
.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the splitter.
Conversion to this type will be attempted, if necessary.splitter
- the splitter Function
.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
,
SplitterEndpointSpec
public <S extends AbstractMessageSplitter> B split(MessageHandlerSpec<?,S> splitterMessageHandlerSpec)
BaseIntegrationFlowDefinition
AbstractMessageSplitter
to the current integration
flow position.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
S
- the AbstractMessageSplitter
splitterMessageHandlerSpec
- the MessageHandlerSpec
to populate.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public <S extends AbstractMessageSplitter> B split(MessageHandlerSpec<?,S> splitterMessageHandlerSpec, java.util.function.Consumer<SplitterEndpointSpec<S>> endpointConfigurer)
BaseIntegrationFlowDefinition
AbstractMessageSplitter
to the current integration
flow position.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
S
- the AbstractMessageSplitter
splitterMessageHandlerSpec
- the MessageHandlerSpec
to populate.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B split(AbstractMessageSplitter splitter)
BaseIntegrationFlowDefinition
AbstractMessageSplitter
to the current integration
flow position.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
splitter
- the AbstractMessageSplitter
to populate.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public <S extends AbstractMessageSplitter> B split(S splitter, java.util.function.Consumer<SplitterEndpointSpec<S>> endpointConfigurer)
BaseIntegrationFlowDefinition
AbstractMessageSplitter
to the current integration
flow position.split
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
S
- the AbstractMessageSplitter
splitter
- the AbstractMessageSplitter
to populate.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.SplitterEndpointSpec
public B headerFilter(String... headersToRemove)
BaseIntegrationFlowDefinition
HeaderFilter
to the current StandardIntegrationFlow
.headerFilter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headersToRemove
- the array of headers (or patterns)
to remove from MessageHeaders
.BaseIntegrationFlowDefinition
.public B headerFilter(String headersToRemove, boolean patternMatch)
BaseIntegrationFlowDefinition
HeaderFilter
to the current StandardIntegrationFlow
.headerFilter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headersToRemove
- the comma separated headers (or patterns) to remove from
MessageHeaders
.patternMatch
- the boolean
flag to indicate if headersToRemove
should be interpreted as patterns or direct header names.BaseIntegrationFlowDefinition
.public B headerFilter(HeaderFilter headerFilter, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the provided
HeaderFilter
.headerFilter
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headerFilter
- the HeaderFilter
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
public B claimCheckIn(MessageStore messageStore)
BaseIntegrationFlowDefinition
claimCheckIn
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageStore
- the MessageStore
to use.BaseIntegrationFlowDefinition
.public B claimCheckIn(MessageStore messageStore, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the ClaimCheckInTransformer
with provided MessageStore
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.claimCheckIn
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageStore
- the MessageStore
to use.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
public B claimCheckOut(MessageStore messageStore)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the ClaimCheckOutTransformer
with provided MessageStore
.
The removeMessage
option of ClaimCheckOutTransformer
is to false
.claimCheckOut
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageStore
- the MessageStore
to use.BaseIntegrationFlowDefinition
.public B claimCheckOut(MessageStore messageStore, boolean removeMessage)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the ClaimCheckOutTransformer
with provided MessageStore
and removeMessage
flag.claimCheckOut
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageStore
- the MessageStore
to use.removeMessage
- the removeMessage boolean flag.BaseIntegrationFlowDefinition
.ClaimCheckOutTransformer.setRemoveMessage(boolean)
public B claimCheckOut(MessageStore messageStore, boolean removeMessage, java.util.function.Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
MessageTransformingHandler
for the ClaimCheckOutTransformer
with provided MessageStore
and removeMessage
flag.
In addition accept options for the integration endpoint using GenericEndpointSpec
.claimCheckOut
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageStore
- the MessageStore
to use.removeMessage
- the removeMessage boolean flag.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.GenericEndpointSpec
,
ClaimCheckOutTransformer.setRemoveMessage(boolean)
public B resequence()
BaseIntegrationFlowDefinition
ResequencingMessageHandler
with
default options.resequence
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.public B resequence(java.util.function.Consumer<ResequencerSpec> resequencer)
BaseIntegrationFlowDefinition
ResequencingMessageHandler
with
provided options from ResequencerSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.resequence(r -> r.releasePartialSequences(true)
.correlationExpression("'foo'")
.phase(100))
resequence
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
resequencer
- the Consumer
to provide
ResequencingMessageHandler
options.BaseIntegrationFlowDefinition
.ResequencerSpec
public B aggregate()
BaseIntegrationFlowDefinition
AggregatingMessageHandler
with default options.aggregate
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.public B aggregate(java.util.function.Consumer<AggregatorSpec> aggregator)
BaseIntegrationFlowDefinition
AggregatingMessageHandler
with provided options from AggregatorSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.aggregate(a -> a.correlationExpression("1")
.releaseStrategy(g -> g.size() == 25)
.phase(100))
aggregate
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
aggregator
- the Consumer
to provide AggregatingMessageHandler
options.BaseIntegrationFlowDefinition
.AggregatorSpec
public B route(String beanName, String method)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for provided bean and its method
with default options.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean to use.method
- the method to invoke at runtime.BaseIntegrationFlowDefinition
.public B route(String beanName, String method, java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for provided bean and its method
with provided options from RouterSpec
.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
beanName
- the bean to use.method
- the method to invoke at runtime.routerConfigurer
- the Consumer
to provide MethodInvokingRouter
options.BaseIntegrationFlowDefinition
.public B route(Object service)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for the discovered method
of the provided service and its method with default options.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the bean to use.BaseIntegrationFlowDefinition
.MethodInvokingRouter
public B route(Object service, String methodName)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for the method
of the provided service and its method with default options.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.BaseIntegrationFlowDefinition
.MethodInvokingRouter
public B route(Object service, String methodName, java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for the method
of the provided service and its method with provided options from RouterSpec
.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
service
- the service to use.methodName
- the method to invoke.routerConfigurer
- the Consumer
to provide MethodInvokingRouter
options.BaseIntegrationFlowDefinition
.MethodInvokingRouter
public B route(String expression)
BaseIntegrationFlowDefinition
ExpressionEvaluatingRouter
for provided SpEL expression
with default options.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
expression
- the expression to use.BaseIntegrationFlowDefinition
.public <T> B route(String expression, java.util.function.Consumer<RouterSpec<T,ExpressionEvaluatingRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
ExpressionEvaluatingRouter
for provided SpEL expression
with provided options from RouterSpec
.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
T
- the target result type.expression
- the expression to use.routerConfigurer
- the Consumer
to provide ExpressionEvaluatingRouter
options.BaseIntegrationFlowDefinition
.public <S,T> B route(Class<S> payloadType, java.util.function.Function<S,T> router)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for provided Function
and payload type with default options.
Typically used with a Java 8 Lambda expression:
.route(Integer.class, p -> p % 2 == 0)
route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
S
- the source payload type or Message.class
.T
- the target result type.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the splitter.
Conversion to this type will be attempted, if necessary.router
- the Function
to use.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public <P,T> B route(Class<P> payloadType, java.util.function.Function<P,T> router, java.util.function.Consumer<RouterSpec<T,MethodInvokingRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for provided Function
and payload type and options from RouterSpec
.
In addition accept options for the integration endpoint using GenericEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.route(Integer.class, p -> p % 2 == 0,
m -> m.channelMapping("true", "evenChannel")
.subFlowMapping("false", f ->
f.<Integer>handle((p, h) -> p * 3))
.applySequence(false))
route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the source payload type or Message.class
.T
- the target result type.payloadType
- the Class
for expected payload type. It can also be
Message.class
if you wish to access the entire message in the splitter.
Conversion to this type will be attempted, if necessary.router
- the Function
to use.routerConfigurer
- the Consumer
to provide MethodInvokingRouter
options.BaseIntegrationFlowDefinition
.LambdaMessageProcessor
public B route(MessageProcessorSpec<?> messageProcessorSpec)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for the
MessageProcessor
from the provided MessageProcessorSpec
with default options.
.route(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000))
route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.BaseIntegrationFlowDefinition
.public B route(MessageProcessorSpec<?> messageProcessorSpec, java.util.function.Consumer<RouterSpec<Object,MethodInvokingRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
MethodInvokingRouter
for the
MessageProcessor
from the provided MessageProcessorSpec
with default options.
.route(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000),
m -> m.channelMapping("true", "evenChannel")
.subFlowMapping("false", f ->
f.<Integer>handle((p, h) -> p * 3)))
route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
messageProcessorSpec
- the MessageProcessorSpec
to use.routerConfigurer
- the Consumer
to provide MethodInvokingRouter
options.BaseIntegrationFlowDefinition
.public B routeToRecipients(java.util.function.Consumer<RecipientListRouterSpec> routerConfigurer)
BaseIntegrationFlowDefinition
RecipientListRouter
with options from the RecipientListRouterSpec
.
Typically used with a Java 8 Lambda expression:
.routeToRecipients(r -> r
.recipient("bar-channel", m ->
m.getHeaders().containsKey("recipient") && (boolean) m.getHeaders().get("recipient"))
.recipientFlow("'foo' == payload or 'bar' == payload or 'baz' == payload",
f -> f.transform(String.class, p -> p.toUpperCase())
.channel(c -> c.queue("recipientListSubFlow1Result"))))
routeToRecipients
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
routerConfigurer
- the Consumer
to provide RecipientListRouter
options.BaseIntegrationFlowDefinition
.public B routeByException(java.util.function.Consumer<RouterSpec<Class<? extends Throwable>,ErrorMessageExceptionTypeRouter>> routerConfigurer)
BaseIntegrationFlowDefinition
ErrorMessageExceptionTypeRouter
with options from the RouterSpec
.
Typically used with a Java 8 Lambda expression:
.routeByException(r -> r
.channelMapping(IllegalArgumentException.class, "illegalArgumentChannel")
.subFlowMapping(MessageHandlingException.class, sf ->
sf.handle(...))
)
routeByException
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
routerConfigurer
- the Consumer
to provide ErrorMessageExceptionTypeRouter
options.BaseIntegrationFlowDefinition
.ErrorMessageExceptionTypeRouter
public B route(AbstractMessageRouter router)
BaseIntegrationFlowDefinition
AbstractMessageRouter
implementation to the
current integration flow position.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
router
- the AbstractMessageRouter
to populate.BaseIntegrationFlowDefinition
.public <R extends AbstractMessageRouter> B route(R router, java.util.function.Consumer<GenericEndpointSpec<R>> endpointConfigurer)
BaseIntegrationFlowDefinition
AbstractMessageRouter
implementation to the
current integration flow position.
In addition accept options for the integration endpoint using GenericEndpointSpec
.route
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
R
- the AbstractMessageRouter
type.router
- the AbstractMessageRouter
to populate.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public B gateway(String requestChannel)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the
provided requestChannel
to send a request with default options.
Uses RequestReplyExchanger
Proxy
on the background.gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
requestChannel
- the MessageChannel
bean name.BaseIntegrationFlowDefinition
.public B gateway(String requestChannel, java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the
provided requestChannel
to send a request with options from
GatewayEndpointSpec
. Uses
RequestReplyExchanger
Proxy on the
background.gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
requestChannel
- the MessageChannel
bean name.endpointConfigurer
- the Consumer
to provide integration endpoint
options.BaseIntegrationFlowDefinition
.public B gateway(MessageChannel requestChannel)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the provided requestChannel
to send a request with default options.
Uses RequestReplyExchanger
Proxy on
the background.gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
requestChannel
- the MessageChannel
to use.BaseIntegrationFlowDefinition
.public B gateway(MessageChannel requestChannel, java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the
provided requestChannel
to send a request with options from
GatewayEndpointSpec
. Uses
RequestReplyExchanger
Proxy on the
background.gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
requestChannel
- the MessageChannel
to use.endpointConfigurer
- the Consumer
to provide integration endpoint
options.BaseIntegrationFlowDefinition
.public B gateway(IntegrationFlow flow)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the
provided subflow
.
Typically used with a Java 8 Lambda expression:
.gateway(f -> f.transform("From Gateway SubFlow: "::concat))
gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
flow
- the IntegrationFlow
to to send a request message and wait for reply.BaseIntegrationFlowDefinition
.public B gateway(IntegrationFlow flow, java.util.function.Consumer<GatewayEndpointSpec> endpointConfigurer)
BaseIntegrationFlowDefinition
GatewayMessageHandler
for the
provided subflow
with options from GatewayEndpointSpec
.
Typically used with a Java 8 Lambda expression:
.gateway(f -> f.transform("From Gateway SubFlow: "::concat), e -> e.replyTimeout(100L))
gateway
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
flow
- the IntegrationFlow
to to send a request message and wait for reply.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public B log()
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category.
The full request Message
will be logged.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(LoggingHandler.Level level)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for provided LoggingHandler.Level
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category.
The full request Message
will be logged.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(String category)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided logging category
and INFO
logging level.
The full request Message
will be logged.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
category
- the logging category to use.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(LoggingHandler.Level level, String category)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level and logging category.
The full request Message
will be logged.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category to use.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(LoggingHandler.Level level, String category, String logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and SpEL expression for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category.logExpression
- the SpEL expression to evaluate logger message at runtime
against the request Message
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public <P> B log(java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function
for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.function
- the function to evaluate logger message at runtimeBaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(LoggingHandler.Level level, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(String category, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
LoggingHandler.Level
logging level,
the provided logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
category
- the logging category.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public <P> B log(LoggingHandler.Level level, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function
for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.level
- the LoggingHandler.Level
.function
- the function to evaluate logger message at runtimeBaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public <P> B log(String category, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the provided logging category and Function
for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.category
- the logging category.function
- the function to evaluate logger message at runtimeBaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public <P> B log(LoggingHandler.Level level, String category, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and Function
for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.level
- the LoggingHandler.Level
.category
- the logging category.function
- the function to evaluate logger message at runtimeBaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public B log(LoggingHandler.Level level, String category, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and SpEL expression for the log message.
When this operator is used in the end of flow, it is treated
as one-way handler without any replies to continue.
The BaseIntegrationFlowDefinition.logAndReply()
should be used for request-reply configuration.
log
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.BaseIntegrationFlowDefinition
.BaseIntegrationFlowDefinition.wireTap(WireTapSpec)
public IntegrationFlow logAndReply()
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category.
The full request Message
will be logged.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(LoggingHandler.Level level)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for provided LoggingHandler.Level
logging level and org.springframework.integration.handler.LoggingHandler
as a default logging category.
The full request Message
will be logged.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(String category)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided logging category
and INFO
logging level.
The full request Message
will be logged.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
category
- the logging category to use.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(LoggingHandler.Level level, String category)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level and logging category.
The full request Message
will be logged.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category to use.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(LoggingHandler.Level level, String category, String logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and SpEL expression for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category.logExpression
- the SpEL expression to evaluate logger message at runtime
against the request Message
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public <P> IntegrationFlow logAndReply(java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function
for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.function
- the function to evaluate logger message at runtimeIntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(LoggingHandler.Level level, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(String category, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the INFO
LoggingHandler.Level
logging level,
the provided logging category and SpEL expression to evaluate
logger message at runtime against the request Message
.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
category
- the logging category.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public <P> IntegrationFlow logAndReply(LoggingHandler.Level level, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the org.springframework.integration.handler.LoggingHandler
as a default logging category and Function
for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.level
- the LoggingHandler.Level
.function
- the function to evaluate logger message at runtimeIntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public <P> IntegrationFlow logAndReply(String category, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level,
the provided logging category and Function
for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.category
- the logging category.function
- the function to evaluate logger message at runtimeIntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public <P> IntegrationFlow logAndReply(LoggingHandler.Level level, String category, java.util.function.Function<Message<P>,Object> function)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and Function
for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
P
- the expected payload type.
against the request Message
.level
- the LoggingHandler.Level
.category
- the logging category.function
- the function to evaluate logger message at runtimeIntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public IntegrationFlow logAndReply(LoggingHandler.Level level, String category, Expression logExpression)
BaseIntegrationFlowDefinition
WireTap
for the BaseIntegrationFlowDefinition.currentMessageChannel
with the LoggingHandler
subscriber for the provided
LoggingHandler.Level
logging level, logging category
and SpEL expression for the log message.
A BaseIntegrationFlowDefinition.bridge()
is added after this operator to make the flow reply-producing
if the replyChannel
header is present.
This operator can be used only in the end of flow.
logAndReply
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
level
- the LoggingHandler.Level
.category
- the logging category.logExpression
- the Expression
to evaluate logger message at runtime
against the request Message
.IntegrationFlow
instance based on this builder.BaseIntegrationFlowDefinition.log()
,
BaseIntegrationFlowDefinition.bridge()
public B scatterGather(MessageChannel scatterChannel)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided MessageChannel
for scattering function
and default AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterChannel
- the MessageChannel
for scatting requests.BaseIntegrationFlowDefinition
.public B scatterGather(MessageChannel scatterChannel, java.util.function.Consumer<AggregatorSpec> gatherer)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided MessageChannel
for scattering function
and AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterChannel
- the MessageChannel
for scatting requests.gatherer
- the Consumer
for AggregatorSpec
to configure gatherer.
Can be null
.BaseIntegrationFlowDefinition
.public B scatterGather(MessageChannel scatterChannel, java.util.function.Consumer<AggregatorSpec> gatherer, java.util.function.Consumer<ScatterGatherSpec> scatterGather)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided MessageChannel
for scattering function
and AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterChannel
- the MessageChannel
for scatting requests.gatherer
- the Consumer
for AggregatorSpec
to configure gatherer.
Can be null
.scatterGather
- the Consumer
for ScatterGatherSpec
to configure
ScatterGatherHandler
and its endpoint. Can be null
.BaseIntegrationFlowDefinition
.public B scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided RecipientListRouterSpec
for scattering function
and default AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterer
- the Consumer
for RecipientListRouterSpec
to configure scatterer.BaseIntegrationFlowDefinition
.public B scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer, java.util.function.Consumer<AggregatorSpec> gatherer)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided RecipientListRouterSpec
for scattering function
and AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterer
- the Consumer
for RecipientListRouterSpec
to configure scatterer.
Can be null
.gatherer
- the Consumer
for AggregatorSpec
to configure gatherer.
Can be null
.BaseIntegrationFlowDefinition
.public B scatterGather(java.util.function.Consumer<RecipientListRouterSpec> scatterer, java.util.function.Consumer<AggregatorSpec> gatherer, java.util.function.Consumer<ScatterGatherSpec> scatterGather)
BaseIntegrationFlowDefinition
ScatterGatherHandler
to the current integration flow position
based on the provided RecipientListRouterSpec
for scattering function
and AggregatorSpec
for gathering function.scatterGather
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
scatterer
- the Consumer
for RecipientListRouterSpec
to configure scatterer.gatherer
- the Consumer
for AggregatorSpec
to configure gatherer.scatterGather
- the Consumer
for ScatterGatherSpec
to configure
ScatterGatherHandler
and its endpoint. Can be null
.BaseIntegrationFlowDefinition
.public B barrier(long timeout)
BaseIntegrationFlowDefinition
BarrierMessageHandler
instance for provided timeout.barrier
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
timeout
- the timeout in milliseconds.BaseIntegrationFlowDefinition
.public B barrier(long timeout, java.util.function.Consumer<BarrierSpec> barrierConfigurer)
BaseIntegrationFlowDefinition
BarrierMessageHandler
instance for provided timeout and options from BarrierSpec
and endpoint
options from GenericEndpointSpec
.barrier
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
timeout
- the timeout in milliseconds.barrierConfigurer
- the Consumer
to provide
BarrierMessageHandler
options.BaseIntegrationFlowDefinition
.public B trigger(String triggerActionId)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
instance to perform MessageTriggerAction
.trigger
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
triggerActionId
- the MessageTriggerAction
bean id.BaseIntegrationFlowDefinition
.public B trigger(String triggerActionId, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
instance to perform MessageTriggerAction
and endpoint options from GenericEndpointSpec
.trigger
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
triggerActionId
- the MessageTriggerAction
bean id.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public B trigger(MessageTriggerAction triggerAction)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
instance to perform MessageTriggerAction
.trigger
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
triggerAction
- the MessageTriggerAction
.BaseIntegrationFlowDefinition
.public B trigger(MessageTriggerAction triggerAction, java.util.function.Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer)
BaseIntegrationFlowDefinition
ServiceActivatingHandler
instance to perform MessageTriggerAction
and endpoint options from GenericEndpointSpec
.trigger
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
triggerAction
- the MessageTriggerAction
.endpointConfigurer
- the Consumer
to provide integration endpoint options.BaseIntegrationFlowDefinition
.public <I,O> B fluxTransform(java.util.function.Function<? super reactor.core.publisher.Flux<Message<I>>,? extends org.reactivestreams.Publisher<O>> fluxFunction)
BaseIntegrationFlowDefinition
FluxMessageChannel
to start a reactive processing for upstream data,
wrap it to a Flux
, apply provided Function
via Flux.transform(Function)
and emit the result to one more FluxMessageChannel
, subscribed in the downstream flow.fluxTransform
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
I
- the input payload type.O
- the output type.fluxFunction
- the Function
to process data reactive manner.BaseIntegrationFlowDefinition
.public IntegrationFlow nullChannel()
BaseIntegrationFlowDefinition
nullChannel
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
IntegrationFlow
instance based on this definition.public B enrichHeaders(Map<String,Object> headers)
BaseIntegrationFlowDefinition
Map
of values to be used for the
Message
header enrichment.
values
can apply an Expression
to be evaluated against a request Message
.enrichHeaders
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowDefinition<B>>
headers
- the Map of headers to enrich.IntegrationFlowDefinition
.