Class IntegrationFlowAdapter
java.lang.Object
org.springframework.integration.dsl.IntegrationFlowAdapter
- All Implemented Interfaces:
Lifecycle
,Phased
,SmartLifecycle
,IntegrationFlow
,ManageableLifecycle
,ManageableSmartLifecycle
public abstract class IntegrationFlowAdapter extends Object implements IntegrationFlow, ManageableSmartLifecycle
The base
Adapter
class for the IntegrationFlow
abstraction.
Requires the implementation for the buildFlow()
method to produce
IntegrationFlowDefinition
using one of from(java.lang.String)
support methods.
Typically is used for target service implementation:
@Component public class MyFlowAdapter extends IntegrationFlowAdapter { @Autowired private ConnectionFactory rabbitConnectionFactory; @Override protected IntegrationFlowDefinition<?> buildFlow() { return from(Amqp.inboundAdapter(this.rabbitConnectionFactory, "myQueue")) .<String, String>transform(String::toLowerCase) .channel(c -> c.queue("myFlowAdapterOutput")); } }
- Since:
- 5.0
- Author:
- Artem Bilan
-
Field Summary
-
Constructor Summary
Constructors Constructor Description IntegrationFlowAdapter()
-
Method Summary
Modifier and Type Method Description protected abstract IntegrationFlowDefinition<?>
buildFlow()
void
configure(IntegrationFlowDefinition<?> flow)
The callback-based function to declare the chain of EIP-methods to configure an integration flow with the providedIntegrationFlowDefinition
.protected IntegrationFlowBuilder
from(Class<?> serviceInterface)
protected IntegrationFlowBuilder
from(Class<?> serviceInterface, Consumer<GatewayProxySpec> endpointConfigurer)
Start a flow from a proxy for the service interface.protected IntegrationFlowDefinition<?>
from(String messageChannelName)
protected IntegrationFlowDefinition<?>
from(String messageChannelName, boolean fixedSubscriber)
protected IntegrationFlowBuilder
from(org.reactivestreams.Publisher<? extends Message<?>> publisher)
protected IntegrationFlowDefinition<?>
from(MessageSource<?> messageSource)
protected IntegrationFlowDefinition<?>
from(MessageSource<?> messageSource, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer)
protected IntegrationFlowDefinition<?>
from(MessageChannelSpec<?,?> messageChannelSpec)
protected IntegrationFlowDefinition<?>
from(MessageProducerSpec<?,?> messageProducerSpec)
protected IntegrationFlowDefinition<?>
from(MessageSourceSpec<?,? extends MessageSource<?>> messageSourceSpec)
protected IntegrationFlowDefinition<?>
from(MessageSourceSpec<?,? extends MessageSource<?>> messageSourceSpec, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer)
protected IntegrationFlowDefinition<?>
from(MessagingGatewaySpec<?,?> inboundGatewaySpec)
protected IntegrationFlowDefinition<?>
from(MessageProducerSupport messageProducer)
protected IntegrationFlowDefinition<?>
from(MessagingGatewaySupport inboundGateway)
protected IntegrationFlowDefinition<?>
from(MessageChannel messageChannel)
protected <T> IntegrationFlowBuilder
fromSupplier(Supplier<T> messageSource)
protected <T> IntegrationFlowBuilder
fromSupplier(Supplier<T> messageSource, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer)
MessageChannel
getInputChannel()
Return the firstMessageChannel
component which is essentially a flow input channel.Map<Object,String>
getIntegrationComponents()
Return a map of integration components managed by this flow (if any).int
getPhase()
boolean
isAutoStartup()
boolean
isRunning()
void
start()
void
stop()
void
stop(Runnable callback)
-
Constructor Details
-
IntegrationFlowAdapter
public IntegrationFlowAdapter()
-
-
Method Details
-
configure
Description copied from interface:IntegrationFlow
The callback-based function to declare the chain of EIP-methods to configure an integration flow with the providedIntegrationFlowDefinition
.- Specified by:
configure
in interfaceIntegrationFlow
- Parameters:
flow
- theIntegrationFlowDefinition
to configure
-
getInputChannel
Description copied from interface:IntegrationFlow
Return the firstMessageChannel
component which is essentially a flow input channel.- Specified by:
getInputChannel
in interfaceIntegrationFlow
- Returns:
- the channel.
-
getIntegrationComponents
Description copied from interface:IntegrationFlow
Return a map of integration components managed by this flow (if any).- Specified by:
getIntegrationComponents
in interfaceIntegrationFlow
- Returns:
- the map of integration components managed by this flow.
-
start
public void start()- Specified by:
start
in interfaceLifecycle
- Specified by:
start
in interfaceManageableLifecycle
-
stop
- Specified by:
stop
in interfaceSmartLifecycle
-
stop
public void stop()- Specified by:
stop
in interfaceLifecycle
- Specified by:
stop
in interfaceManageableLifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunning
in interfaceLifecycle
- Specified by:
isRunning
in interfaceManageableLifecycle
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartup
in interfaceSmartLifecycle
-
getPhase
public int getPhase()- Specified by:
getPhase
in interfacePhased
- Specified by:
getPhase
in interfaceSmartLifecycle
-
from
-
from
-
from
-
from
protected IntegrationFlowDefinition<?> from(MessageSourceSpec<?,? extends MessageSource<?>> messageSourceSpec, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer) -
from
protected IntegrationFlowDefinition<?> from(MessageSource<?> messageSource, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer) -
from
-
from
-
from
-
from
-
from
-
from
protected IntegrationFlowDefinition<?> from(MessageSourceSpec<?,? extends MessageSource<?>> messageSourceSpec) -
from
-
fromSupplier
-
fromSupplier
protected <T> IntegrationFlowBuilder fromSupplier(Supplier<T> messageSource, Consumer<SourcePollingChannelAdapterSpec> endpointConfigurer) -
from
-
from
protected IntegrationFlowBuilder from(Class<?> serviceInterface, @Nullable Consumer<GatewayProxySpec> endpointConfigurer)Start a flow from a proxy for the service interface.- Parameters:
serviceInterface
- the service interface class.endpointConfigurer
- theConsumer
to configure proxy bean for gateway.- Returns:
- new
IntegrationFlowBuilder
. - Since:
- 5.2
-
from
protected IntegrationFlowBuilder from(org.reactivestreams.Publisher<? extends Message<?>> publisher) -
buildFlow
-