Class CharacterStreamReadingMessageSource

java.lang.Object
org.springframework.integration.util.AbstractExpressionEvaluator
org.springframework.integration.endpoint.AbstractMessageSource<java.lang.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<java.lang.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<java.lang.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
    CharacterStreamReadingMessageSource​(java.io.Reader reader)
    Construct an instance with the provider reader.
    CharacterStreamReadingMessageSource​(java.io.Reader reader, int bufferSize)
    Construct an instance with the provider reader and buffer size.
    CharacterStreamReadingMessageSource​(java.io.Reader reader, int bufferSize, boolean blockToDetectEOF)
    Construct an instance with the provided reader and buffer size.
  • Method Summary

    Modifier and Type Method Description
    java.lang.String doReceive()  
    java.lang.String getComponentType()  
    void setApplicationEventPublisher​(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)  
    static CharacterStreamReadingMessageSource stdin()
    Create a source that reads from System.in.
    static CharacterStreamReadingMessageSource stdin​(java.lang.String charsetName)
    Create a source that reads from System.in.
    static CharacterStreamReadingMessageSource stdinPipe()
    Create a source that reads from System.in.
    static CharacterStreamReadingMessageSource stdinPipe​(java.lang.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

    Methods inherited from interface org.springframework.integration.core.MessageSource

    getIntegrationPatternType
  • Constructor Details

    • CharacterStreamReadingMessageSource

      public CharacterStreamReadingMessageSource​(java.io.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​(java.io.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​(java.io.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 java.lang.String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
    • doReceive

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

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

      public static final CharacterStreamReadingMessageSource stdin​(java.lang.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 final 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:
      CharacterStreamReadingMessageSource(Reader, int, boolean)
    • stdinPipe

      public static final CharacterStreamReadingMessageSource stdinPipe​(java.lang.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:
      CharacterStreamReadingMessageSource(Reader, int, boolean)