Class StandardIntegrationFlow
- All Implemented Interfaces:
- Aware,- BeanNameAware,- Lifecycle,- Phased,- SmartLifecycle,- ComponentSourceAware,- IntegrationFlow,- NamedComponent
IntegrationFlow interface instantiated
 by the Framework. Represents a logical container for the components configured
 for the integration flow. It can be treated as a single component, especially
 when declaring dynamically, using the
 IntegrationFlowContext.
 
 Being the logical container for the target integration components, this class controls
 the lifecycle of all those components, when its start() and stop() are
 invoked.
 
 This component is never autoStartup, because all the components are
 registered as beans in the application context and their initial start up phase is
 controlled from the lifecycle processor automatically.
 
 However, when we register an IntegrationFlow dynamically using the
 IntegrationFlowContext API,
 the lifecycle processor from the application context is not involved;
 therefore we should control the lifecycle of the beans manually, or rely on the
 IntegrationFlowContext API.
 Its created registration is autoStartup by default and
 starts the flow when it is registered. If you disable the registration's auto-
 startup behavior, you are responsible for starting the flow or its component
 beans.
 
 This component doesn't track its running state during stop() action
 and delegates directly to stop the registered components, to avoid dangling processes
 after a registered IntegrationFlow is removed from the flow context.
- Since:
- 5.0
- Author:
- Artem Bilan
- See Also:
- 
Field SummaryFields inherited from interface org.springframework.context.SmartLifecycleDEFAULT_PHASE
- 
Method SummaryModifier and TypeMethodDescriptionvoidconfigure(IntegrationFlowDefinition<?> flow) The callback-based function to declare the chain of EIP-methods to configure an integration flow with the providedIntegrationFlowDefinition.Return the bean name populated by theBeanNameAware.setBeanName(String).Return a human-readable description of this bean.Return the configuration sourceObjectfor this bean (maybenull).Return the firstMessageChannelcomponent which is essentially a flow input channel.Return a map of integration components managed by this flow (if any).intgetPhase()booleanbooleanvoidsetBeanName(String name) voidsetComponentDescription(String description) Set a human-readable description of this bean.voidsetComponentSource(Object source) Set a configuration sourceObjectfor this bean definition.voidsetIntegrationComponents(Map<Object, String> integrationComponents) voidstart()voidstop()voidtoString()
- 
Method Details- 
setBeanName- Specified by:
- setBeanNamein interface- BeanNameAware
 
- 
getComponentName- Specified by:
- getComponentNamein interface- NamedComponent
 
- 
getComponentType- Specified by:
- getComponentTypein interface- NamedComponent
 
- 
setComponentSourceDescription copied from interface:ComponentSourceAwareSet a configuration sourceObjectfor this bean definition. For normalBeanDefinitionthis is supplied by application context automatically. Could be useful when bean is registered at runtime viaSingletonBeanRegistry.registerSingleton(String, Object)- Specified by:
- setComponentSourcein interface- ComponentSourceAware
- Parameters:
- source- the configuration source
 
- 
getComponentSourceDescription copied from interface:ComponentSourceAwareReturn the configuration sourceObjectfor this bean (maybenull). Usually (if not set explicitly) aBeanMetadataElement.getSource().- Specified by:
- getComponentSourcein interface- ComponentSourceAware
- Returns:
- the configuration source for the bean (if any).
 
- 
setComponentDescriptionDescription copied from interface:ComponentSourceAwareSet a human-readable description of this bean. For normal bean definition aBeanDefinition.getDescription()is used.- Specified by:
- setComponentDescriptionin interface- ComponentSourceAware
- Parameters:
- description- the bean description
 
- 
getComponentDescriptionDescription copied from interface:ComponentSourceAwareReturn a human-readable description of this bean. Usually (if not set explicitly) aBeanDefinition.getDescription().- Specified by:
- getComponentDescriptionin interface- ComponentSourceAware
- Returns:
- the bean description (if any).
 
- 
getBeanNameDescription copied from interface:ComponentSourceAwareReturn the bean name populated by theBeanNameAware.setBeanName(String).- Specified by:
- getBeanNamein interface- ComponentSourceAware
- Specified by:
- getBeanNamein interface- NamedComponent
- Returns:
- the bean name.
 
- 
configureDescription copied from interface:IntegrationFlowThe callback-based function to declare the chain of EIP-methods to configure an integration flow with the providedIntegrationFlowDefinition.- Specified by:
- configurein interface- IntegrationFlow
- Parameters:
- flow- the- IntegrationFlowDefinitionto configure
 
- 
getInputChannelDescription copied from interface:IntegrationFlowReturn the firstMessageChannelcomponent which is essentially a flow input channel.- Specified by:
- getInputChannelin interface- IntegrationFlow
- Returns:
- the channel.
 
- 
setIntegrationComponents
- 
getIntegrationComponentsDescription copied from interface:IntegrationFlowReturn a map of integration components managed by this flow (if any).- Specified by:
- getIntegrationComponentsin interface- IntegrationFlow
- Returns:
- the map of integration components managed by this flow.
 
- 
start
- 
stop- Specified by:
- stopin interface- SmartLifecycle
 
- 
stop
- 
isRunning
- 
isAutoStartuppublic boolean isAutoStartup()- Specified by:
- isAutoStartupin interface- SmartLifecycle
 
- 
getPhasepublic int getPhase()- Specified by:
- getPhasein interface- Phased
- Specified by:
- getPhasein interface- SmartLifecycle
 
- 
toString
 
-