B
- the IntegrationFlowDefinition
implementation type.public abstract class IntegrationFlowExtension<B extends IntegrationFlowExtension<B>> extends IntegrationFlowDefinition<B>
IntegrationFlowDefinition
extension for custom Java DSL operators
and reusable solutions.
For supporting method flow chain an implementation of this class has to return
an extension class from new methods, e.g.:
public class MyIntegrationFlowDefinition
extends IntegrationFlowExtension<MyIntegrationFlowDefinition> {
public MyIntegrationFlowDefinition upperCaseAfterSplit() {
return split()
.transform("payload.toUpperCase()");
}
}
This way it will be used in the target configuration as natural DSL definition:
@Bean
public IntegrationFlow myFlowDefinition() {
return
new MyIntegrationFlowDefinition()
.log()
.upperCaseAfterSplit()
.aggregate()
.get();
}
This IntegrationFlowExtension
can also be used for overriding
existing operators with extensions to any IntegrationComponentSpec
extensions,
e.g. adding new options for target component configuration.BaseIntegrationFlowDefinition.ReplyProducerCleaner
integrationComponents, PARSER
Modifier | Constructor and Description |
---|---|
protected |
IntegrationFlowExtension() |
Modifier and Type | Method and Description |
---|---|
StandardIntegrationFlow |
get() |
filter, filter, handle, handle, route, route, split, transform, transform
_this, addComponent, addComponent, addComponents, aggregate, aggregate, barrier, barrier, bridge, bridge, channel, channel, channel, channel, checkReuse, claimCheckIn, claimCheckIn, claimCheckOut, claimCheckOut, claimCheckOut, controlBus, controlBus, convert, convert, currentComponent, currentInterceptableChannel, currentMessageChannel, delay, delay, enrich, enrichHeaders, enrichHeaders, enrichHeaders, enrichHeaders, enrichHeaders, extractProxyTarget, filter, filter, filter, filter, filter, filter, filter, filter, filter, fixedSubscriberChannel, fixedSubscriberChannel, fluxTransform, gateway, gateway, gateway, gateway, gateway, gateway, getCurrentComponent, getCurrentMessageChannel, getIntegrationComponents, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, headerFilter, headerFilter, headerFilter, intercept, isImplicitChannel, isOutputChannelRequired, log, log, log, log, log, log, log, log, log, log, log, log, log, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, logAndReply, nullChannel, obtainInputChannelFromFlow, publishSubscribeChannel, publishSubscribeChannel, publishSubscribeChannel, register, registerOutputChannelIfCan, resequence, resequence, route, route, route, route, route, route, route, route, route, route, route, route, route, route, routeByException, routeToRecipients, scatterGather, scatterGather, scatterGather, scatterGather, scatterGather, scatterGather, setImplicitChannel, split, split, split, split, split, split, split, split, split, split, split, split, split, split, split, split, split, toReactivePublisher, transform, transform, transform, transform, transform, transform, transform, transform, transform, trigger, trigger, trigger, trigger, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap
public StandardIntegrationFlow get()
get
in class BaseIntegrationFlowDefinition<B extends IntegrationFlowExtension<B>>