Class CharacterStreamWritingMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.stream.CharacterStreamWritingMessageHandler
All Implemented Interfaces:
org.reactivestreams.Subscriber<org.springframework.messaging.Message<?>>, 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.ApplicationContextAware, org.springframework.core.Ordered, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.context.Orderable, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.TrackableComponent, org.springframework.messaging.MessageHandler, reactor.core.CoreSubscriber<org.springframework.messaging.Message<?>>

public class CharacterStreamWritingMessageHandler extends org.springframework.integration.handler.AbstractMessageHandler
A MessageHandler that writes characters to a Writer. String, character array, and byte array payloads will be written directly, but for other payload types, the result of the object's IntegrationObjectSupport.toString() method will be written. To append a new-line after each write, set the shouldAppendNewLine flag to 'true'. It is 'false' by default.
  • 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.context.IntegrationObjectSupport

    EXPRESSION_PARSER, logger

    Fields inherited from interface org.springframework.integration.support.management.IntegrationManagement

    METER_PREFIX, RECEIVE_COUNTER_NAME, SEND_TIMER_NAME

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
     
  • Method Summary

    Modifier and Type
    Method
    Description
    appendNewLine(boolean append)
     
    protected void
    handleMessageInternal(org.springframework.messaging.Message<?> message)
     
    void
    setShouldAppendNewLine(boolean shouldAppendNewLine)
     
    Factory method that creates a target for stderr (System.err) with the default charset encoding.
    stderr(String charsetName)
    Factory method that creates a target for stderr (System.err) with the specified charset encoding.
    Factory method that creates a target for stdout (System.out) with the default charset encoding.
    stdout(String charsetName)
    Factory method that creates a target for stdout (System.out) with the specified charset encoding.

    Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler

    handleMessage, onComplete, onError, onNext, onSubscribe, setObservationConvention

    Methods inherited from class org.springframework.integration.handler.MessageHandlerSupport

    buildSendTimer, destroy, getIntegrationPatternType, getManagedName, getManagedType, getMetricsCaptor, getObservationRegistry, getOrder, getOverrides, isLoggingEnabled, isObserved, registerMetricsCaptor, registerObservationRegistry, sendTimer, setLoggingEnabled, setManagedName, setManagedType, setOrder, setShouldTrack, shouldTrack

    Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport

    afterPropertiesSet, extractTypeIfPossible, generateId, getApplicationContext, getApplicationContextId, getBeanDescription, getBeanFactory, getBeanName, getChannelResolver, getComponentName, getConversionService, getExpression, getIntegrationProperties, getIntegrationProperty, getMessageBuilderFactory, getTaskScheduler, isInitialized, onInit, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentName, setConversionService, setMessageBuilderFactory, setPrimaryExpression, setTaskScheduler, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface reactor.core.CoreSubscriber

    currentContext

    Methods inherited from interface org.springframework.integration.support.management.IntegrationManagement

    getThisAs

    Methods inherited from interface org.springframework.integration.support.context.NamedComponent

    getBeanName, getComponentName
  • Constructor Details

    • CharacterStreamWritingMessageHandler

      public CharacterStreamWritingMessageHandler(Writer writer)
    • CharacterStreamWritingMessageHandler

      public CharacterStreamWritingMessageHandler(Writer writer, int bufferSize)
  • Method Details

    • stdout

      public static CharacterStreamWritingMessageHandler stdout()
      Factory method that creates a target for stdout (System.out) with the default charset encoding.
      Returns:
      A stdout handler with the default charset.
    • stdout

      public static CharacterStreamWritingMessageHandler stdout(String charsetName)
      Factory method that creates a target for stdout (System.out) with the specified charset encoding.
      Parameters:
      charsetName - The charset name.
      Returns:
      A stdout handler.
    • stderr

      public static CharacterStreamWritingMessageHandler stderr()
      Factory method that creates a target for stderr (System.err) with the default charset encoding.
      Returns:
      A stderr handler with the default charset.
    • stderr

      public static CharacterStreamWritingMessageHandler stderr(String charsetName)
      Factory method that creates a target for stderr (System.err) with the specified charset encoding.
      Parameters:
      charsetName - The charset name.
      Returns:
      A stderr handler.
    • setShouldAppendNewLine

      public void setShouldAppendNewLine(boolean shouldAppendNewLine)
    • appendNewLine

      public CharacterStreamWritingMessageHandler appendNewLine(boolean append)
      Parameters:
      append - true to append a newline.
      Returns:
      this.
      Since:
      5.4
    • getComponentType

      public String getComponentType()
      Specified by:
      getComponentType in interface org.springframework.integration.support.context.NamedComponent
      Overrides:
      getComponentType in class org.springframework.integration.handler.MessageHandlerSupport
    • handleMessageInternal

      protected void handleMessageInternal(org.springframework.messaging.Message<?> message)
      Specified by:
      handleMessageInternal in class org.springframework.integration.handler.AbstractMessageHandler