Class 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
  • Constructor Details Link icon

    • AbstractFetchLimitingMessageSource Link icon

      public AbstractFetchLimitingMessageSource()
  • Method Details Link icon

    • setMaxFetchSize Link icon

      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 interface MessageSourceManagement
      Parameters:
      maxFetchSize - the max fetch size; a negative value means unlimited.
    • getMaxFetchSize Link icon

      public int getMaxFetchSize()
      Description copied from interface: MessageSourceManagement
      Return the max fetch size.
      Specified by:
      getMaxFetchSize in interface MessageSourceManagement
      Returns:
      the max fetch size.
      See Also:
    • doReceive Link icon

      protected Object doReceive()
      Description copied from class: AbstractMessageSource
      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; also can be AbstractIntegrationMessageBuilder which is used for additional headers population.
      Specified by:
      doReceive in class AbstractMessageSource<T>
      Returns:
      The value returned.
    • doReceive Link icon

      protected abstract Object doReceive(int maxFetchSizeToReceive)
      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.