Class AbstractFetchLimitingMessageSource<T>
java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<T>
org.springframework.integration.endpoint.AbstractFetchLimitingMessageSource<T>
- Type Parameters:
T
- the expected payload type.
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,InitializingBean
,MessageSource<T>
,IntegrationPattern
,NamedComponent
,IntegrationInboundManagement
,IntegrationManagement
,MessageSourceManagement
- Direct Known Subclasses:
AbstractInboundFileSynchronizingMessageSource
,AbstractRemoteFileStreamingMessageSource
public abstract class AbstractFetchLimitingMessageSource<T>
extends AbstractMessageSource<T>
implements MessageSourceManagement
A message source that can limit the number of remote objects it fetches.
- Since:
- 5.0
- Author:
- Gary Russell
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement
IntegrationManagement.ManagementOverrides
-
Field Summary
Fields inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
EXPRESSION_PARSER, logger
Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement
METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected Object
Subclasses must implement this method.protected abstract Object
doReceive
(int maxFetchSizeToReceive) Subclasses must implement this method.int
Return the max fetch size.void
setMaxFetchSize
(int maxFetchSize) Set the maximum number of objects the source should fetch if it is necessary to fetch objects.Methods inherited from class org.springframework.integration.endpoint.AbstractMessageSource
buildMessage, destroy, getBeanName, getComponentName, getManagedName, getManagedType, getOverrides, isLoggingEnabled, receive, registerMetricsCaptor, setBeanName, setHeaderExpressions, setLoggingEnabled, setManagedName, setManagedType
Methods inherited from class org.springframework.integration.util.AbstractExpressionEvaluator
afterPropertiesSet, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, evaluateExpression, getBeanFactory, getEvaluationContext, getEvaluationContext, getMessageBuilderFactory, onInit, setBeanFactory, setConversionService, setSimpleEvaluationContext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement
getThisAs, isObserved, registerObservationRegistry
Methods inherited from interface org.springframework.integration.core.MessageSource
getIntegrationPatternType
Methods inherited from interface org.springframework.integration.support.context.NamedComponent
getComponentType
-
Constructor Details
-
AbstractFetchLimitingMessageSource
public AbstractFetchLimitingMessageSource()
-
-
Method Details
-
setMaxFetchSize
public void setMaxFetchSize(int maxFetchSize) Description copied from interface:MessageSourceManagement
Set the maximum number of objects the source should fetch if it is necessary to fetch objects. Setting the maxFetchSize to 0 disables remote fetching, a negative value indicates no limit.- Specified by:
setMaxFetchSize
in interfaceMessageSourceManagement
- Parameters:
maxFetchSize
- the max fetch size; a negative value means unlimited.
-
getMaxFetchSize
public int getMaxFetchSize()Description copied from interface:MessageSourceManagement
Return the max fetch size.- Specified by:
getMaxFetchSize
in interfaceMessageSourceManagement
- Returns:
- the max fetch size.
- See Also:
-
doReceive
Description copied from class:AbstractMessageSource
Subclasses must implement this method. Typically the returned value will be thepayload
of type T, but the returned value may also be aMessage
instance whose payload is of type T; also can beAbstractIntegrationMessageBuilder
which is used for additional headers population.- Specified by:
doReceive
in classAbstractMessageSource<T>
- Returns:
- The value returned.
-
doReceive
Subclasses must implement this method. Typically the returned value will be the payload of type T, but the returned value may also be a Message instance whose payload is of type T.- Parameters:
maxFetchSizeToReceive
- the maximum number of messages to fetch if a fetch is necessary.- Returns:
- The value returned.
-