Class EndpointSpec<S extends EndpointSpec<S,F,H>,F extends BeanNameAware & FactoryBean<? extends AbstractEndpoint>,H>
java.lang.Object
org.springframework.integration.dsl.IntegrationComponentSpec<S,reactor.util.function.Tuple2<F,H>>
org.springframework.integration.dsl.EndpointSpec<S,F,H>
- Type Parameters:
S- the targetConsumerEndpointSpecimplementation type.F- the targetBeanNameAwareimplementation type.H- the targetMessageHandlerimplementation type.
- All Implemented Interfaces:
DisposableBean,FactoryBean<reactor.util.function.Tuple2<F,,H>> InitializingBean,Lifecycle,Phased,SmartLifecycle,ComponentsRegistration
- Direct Known Subclasses:
ConsumerEndpointSpec,SourcePollingChannelAdapterSpec
public abstract class EndpointSpec<S extends EndpointSpec<S,F,H>,F extends BeanNameAware & FactoryBean<? extends AbstractEndpoint>,H>
extends IntegrationComponentSpec<S,reactor.util.function.Tuple2<F,H>>
implements ComponentsRegistration
An
IntegrationComponentSpec for endpoints.- Since:
- 5.0
- Author:
- Artem Bilan, Gary Russell
-
Field Summary
FieldsFields inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
logger, PARSER, targetFields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTEFields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidabstract SautoStartup(boolean autoStartup) doGet()Configure the component identifier.protected MessageChannelTry to get aMessageChannelas an input for the providedIntegrationFlowor create one and wrap the provided flow to a new one.protected MessageChannelobtainInputChannelFromFlow(IntegrationFlow subFlow, boolean evaluateInternalBuilder) Try to get aMessageChannelas an input for the providedIntegrationFlowor create one and wrap the provided flow to a new one.abstract Sphase(int phase) poller(Function<PollerFactory, PollerSpec> pollers) poller(PollerSpec pollerMetadataSpec) abstract Spoller(PollerMetadata pollerMetadata) abstract SSpecify the role for the endpoint.Methods inherited from class org.springframework.integration.dsl.IntegrationComponentSpec
_this, afterPropertiesSet, destroy, get, getId, getObject, getObjectType, getPhase, isAutoStartup, isRunning, start, stop, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.beans.factory.FactoryBean
isSingleton
-
Field Details
-
componentsToRegister
-
endpointFactoryBean
protected final F extends BeanNameAware & FactoryBean<? extends AbstractEndpoint> endpointFactoryBean -
handler
-
-
Constructor Details
-
EndpointSpec
-
-
Method Details
-
id
Description copied from class:IntegrationComponentSpecConfigure the component identifier. Used as thebeanNameto register the bean in the application context for this component.- Overrides:
idin classIntegrationComponentSpec<S extends EndpointSpec<S,F, H>, reactor.util.function.Tuple2<F extends BeanNameAware & FactoryBean<? extends AbstractEndpoint>, H>> - Parameters:
id- the id.- Returns:
- the spec.
-
poller
- Parameters:
pollers- the pollers- Returns:
- the endpoint spec.
- See Also:
-
poller
- Parameters:
pollerMetadataSpec- the pollerMetadataSpec- Returns:
- the endpoint spec.
- See Also:
-
poller
- Parameters:
pollerMetadata- the pollerMetadata- Returns:
- the endpoint spec.
- See Also:
-
phase
- Parameters:
phase- the phase.- Returns:
- the endpoint spec.
- See Also:
-
autoStartup
- Parameters:
autoStartup- the autoStartup.- Returns:
- the endpoint spec
- See Also:
-
role
Specify the role for the endpoint. Such endpoints can be started/stopped as a group.- Parameters:
role- the role for this endpoint.- Returns:
- the endpoint spec
- See Also:
-
getComponentsToRegister
- Specified by:
getComponentsToRegisterin interfaceComponentsRegistration
-
doGet
- Overrides:
doGetin classIntegrationComponentSpec<S extends EndpointSpec<S,F, H>, reactor.util.function.Tuple2<F extends BeanNameAware & FactoryBean<? extends AbstractEndpoint>, H>>
-
assertHandler
protected void assertHandler() -
obtainInputChannelFromFlow
Try to get aMessageChannelas an input for the providedIntegrationFlowor create one and wrap the provided flow to a new one.- Parameters:
subFlow- theIntegrationFlowto extract input channel.- Returns:
- the input channel of the flow of create one
- Since:
- 5.0.4
-
obtainInputChannelFromFlow
protected MessageChannel obtainInputChannelFromFlow(IntegrationFlow subFlow, boolean evaluateInternalBuilder) Try to get aMessageChannelas an input for the providedIntegrationFlowor create one and wrap the provided flow to a new one.- Parameters:
subFlow- theIntegrationFlowto extract input channel.evaluateInternalBuilder- true if an internalIntegrationFlowDefinitionshould be evaluated to anIntegrationFlowcomponent or left as a builder in thecomponentsToRegisterfor future use-case. For example the builder is used for router configurations to retain beans registration order for parent-child dependencies.- Returns:
- the input channel of the flow of create one
- Since:
- 5.0.4
-