Class CharacterStreamReadingMessageSource

java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<String>
org.springframework.integration.stream.CharacterStreamReadingMessageSource
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationEventPublisherAware, org.springframework.integration.core.MessageSource<String>, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationInboundManagement, org.springframework.integration.support.management.IntegrationManagement

public class CharacterStreamReadingMessageSource extends org.springframework.integration.endpoint.AbstractMessageSource<String> implements org.springframework.context.ApplicationEventPublisherAware
A pollable source for Readers.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.springframework.integration.support.management.IntegrationManagement

    org.springframework.integration.support.management.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

    Constructors
    Constructor
    Description
    Construct an instance with the provider reader.
    Construct an instance with the provider reader and buffer size.
    CharacterStreamReadingMessageSource(Reader reader, int bufferSize, boolean blockToDetectEOF)
    Construct an instance with the provided reader and buffer size.
  • Method Summary

    Modifier and Type
    Method
    Description
     
     
    void
    setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
     
    Create a source that reads from System.in.
    stdin(String charsetName)
    Create a source that reads from System.in.
    Create a source that reads from System.in.
    stdinPipe(String charsetName)
    Create a source that reads from System.in.

    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

    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
  • Constructor Details

    • CharacterStreamReadingMessageSource

      public CharacterStreamReadingMessageSource(Reader reader)
      Construct an instance with the provider reader. AbstractMessageSource.receive() will return null when the reader is not ready.
      Parameters:
      reader - the reader.
    • CharacterStreamReadingMessageSource

      public CharacterStreamReadingMessageSource(Reader reader, int bufferSize)
      Construct an instance with the provider reader and buffer size. AbstractMessageSource.receive() will return null when the reader is not ready.
      Parameters:
      reader - the reader.
      bufferSize - the buffer size.
    • CharacterStreamReadingMessageSource

      public CharacterStreamReadingMessageSource(Reader reader, int bufferSize, boolean blockToDetectEOF)
      Construct an instance with the provided reader and buffer size. When blockToDetectEOF is false, AbstractMessageSource.receive() will return null when the reader is not ready. When it is true, the thread will block until data is available; when the underlying stream is closed, a StreamClosedEvent is published to inform the application via an ApplicationListener. This can be useful, for example, when piping stdin
           cat foo.txt | java -jar my.jar
       
      or
           java -jar my.jar < foo.txt
       
      Parameters:
      reader - the reader.
      bufferSize - the buffer size; if negative use the default in BufferedReader.
      blockToDetectEOF - true to block the thread until data is available and publish a StreamClosedEvent at EOF.
      Since:
      5.0
  • Method Details

    • setApplicationEventPublisher

      public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
      Specified by:
      setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAware
    • getComponentType

      public String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
    • doReceive

      public String doReceive()
      Specified by:
      doReceive in class org.springframework.integration.endpoint.AbstractMessageSource<String>
    • stdin

      public static CharacterStreamReadingMessageSource stdin()
      Create a source that reads from System.in. EOF will not be detected.
      Returns:
      the stream.
    • stdin

      public static CharacterStreamReadingMessageSource stdin(String charsetName)
      Create a source that reads from System.in. EOF will not be detected.
      Parameters:
      charsetName - the charset to use when converting bytes to String.
      Returns:
      the stream.
    • stdinPipe

      public static CharacterStreamReadingMessageSource stdinPipe()
      Create a source that reads from System.in. EOF will be detected and the application context closed.
      Returns:
      the stream.
      Since:
      5.0
      See Also:
    • stdinPipe

      public static CharacterStreamReadingMessageSource stdinPipe(String charsetName)
      Create a source that reads from System.in. EOF will be detected and the application context closed.
      Parameters:
      charsetName - the charset to use when converting bytes to String.
      Returns:
      the stream.
      Since:
      5.0
      See Also: