S
- the target ConsumerEndpointSpec
implementation type.F
- the target BeanNameAware
implementation type.H
- the target MessageHandler
implementation type.public abstract class EndpointSpec<S extends EndpointSpec<S,F,H>,F extends org.springframework.beans.factory.BeanNameAware,H> extends IntegrationComponentSpec<S,reactor.util.function.Tuple2<F,H>> implements ComponentsRegistration
IntegrationComponentSpec
for endpoints.Modifier and Type | Field and Description |
---|---|
protected java.util.Map<java.lang.Object,java.lang.String> |
componentsToRegister |
protected F |
endpointFactoryBean |
protected H |
handler |
logger, PARSER, target
Modifier | Constructor and Description |
---|---|
protected |
EndpointSpec(H handler) |
Modifier and Type | Method and Description |
---|---|
protected void |
assertHandler() |
abstract S |
autoStartup(boolean autoStartup) |
protected reactor.util.function.Tuple2<F,H> |
doGet() |
java.util.Map<java.lang.Object,java.lang.String> |
getComponentsToRegister() |
S |
id(java.lang.String id)
Configure the component identifier.
|
protected org.springframework.messaging.MessageChannel |
obtainInputChannelFromFlow(IntegrationFlow subFlow)
Try to get a
MessageChannel as an input for the provided IntegrationFlow
or create one and wrap the provided flow to a new one. |
protected org.springframework.messaging.MessageChannel |
obtainInputChannelFromFlow(IntegrationFlow subFlow,
boolean evaluateInternalBuilder)
Try to get a
MessageChannel as an input for the provided IntegrationFlow
or create one and wrap the provided flow to a new one. |
abstract S |
phase(int phase) |
S |
poller(java.util.function.Function<PollerFactory,PollerSpec> pollers) |
abstract S |
poller(PollerMetadata pollerMetadata) |
S |
poller(PollerSpec pollerMetadataSpec) |
abstract S |
role(java.lang.String role)
Specify the role for the endpoint.
|
_this, afterPropertiesSet, destroy, get, getId, getObject, getObjectType, isSingleton
protected final java.util.Map<java.lang.Object,java.lang.String> componentsToRegister
protected H handler
protected F extends org.springframework.beans.factory.BeanNameAware endpointFactoryBean
protected EndpointSpec(H handler)
public S id(java.lang.String id)
IntegrationComponentSpec
beanName
to register the
bean in the application context for this component.id
in class IntegrationComponentSpec<S extends EndpointSpec<S,F,H>,reactor.util.function.Tuple2<F extends org.springframework.beans.factory.BeanNameAware,H>>
id
- the id.public S poller(java.util.function.Function<PollerFactory,PollerSpec> pollers)
pollers
- the pollersAbstractPollingEndpoint
,
PollerFactory
public S poller(PollerSpec pollerMetadataSpec)
pollerMetadataSpec
- the pollerMetadataSpecAbstractPollingEndpoint
,
PollerSpec
public abstract S poller(PollerMetadata pollerMetadata)
pollerMetadata
- the pollerMetadataAbstractPollingEndpoint
public abstract S phase(int phase)
phase
- the phase.SmartLifecycle
public abstract S autoStartup(boolean autoStartup)
autoStartup
- the autoStartup.SmartLifecycle
public abstract S role(java.lang.String role)
role
- the role for this endpoint.SmartLifecycle
,
SmartLifecycleRoleController
public java.util.Map<java.lang.Object,java.lang.String> getComponentsToRegister()
getComponentsToRegister
in interface ComponentsRegistration
protected reactor.util.function.Tuple2<F,H> doGet()
doGet
in class IntegrationComponentSpec<S extends EndpointSpec<S,F,H>,reactor.util.function.Tuple2<F extends org.springframework.beans.factory.BeanNameAware,H>>
protected void assertHandler()
protected org.springframework.messaging.MessageChannel obtainInputChannelFromFlow(IntegrationFlow subFlow)
MessageChannel
as an input for the provided IntegrationFlow
or create one and wrap the provided flow to a new one.subFlow
- the IntegrationFlow
to extract input channel.protected org.springframework.messaging.MessageChannel obtainInputChannelFromFlow(IntegrationFlow subFlow, boolean evaluateInternalBuilder)
MessageChannel
as an input for the provided IntegrationFlow
or create one and wrap the provided flow to a new one.subFlow
- the IntegrationFlow
to extract input channel.evaluateInternalBuilder
- true if an internal IntegrationFlowDefinition
should be
evaluated to an IntegrationFlow
component or left as a builder in the componentsToRegister
for future use-case. For example the builder is used for router configurations to retain beans
registration order for parent-child dependencies.