Class KinesisMessageHandler

java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.MessageHandlerSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractMessageProducingHandler
io.awspring.cloud.kinesis.integration.KinesisMessageHandler
All Implemented Interfaces:
org.reactivestreams.Subscriber<Message<?>>, Aware, BeanFactoryAware, BeanNameAware, DisposableBean, InitializingBean, ApplicationContextAware, Ordered, org.springframework.integration.context.ComponentSourceAware, org.springframework.integration.context.ExpressionCapable, org.springframework.integration.context.Orderable, org.springframework.integration.core.MessageProducer, org.springframework.integration.handler.HeaderPropagationAware, org.springframework.integration.IntegrationPattern, org.springframework.integration.support.context.NamedComponent, org.springframework.integration.support.management.IntegrationManagement, org.springframework.integration.support.management.TrackableComponent, MessageHandler, reactor.core.CoreSubscriber<Message<?>>

public class KinesisMessageHandler extends org.springframework.integration.handler.AbstractMessageProducingHandler
The AbstractMessageHandler implementation for the Amazon Kinesis putRecord(s).
Since:
4.0
Author:
Artem Bilan, Jacob Severson
See Also:
  • KinesisAsyncClient.putRecord(PutRecordRequest)
  • KinesisAsyncClient.putRecords(PutRecordsRequest)
  • 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.handler.AbstractMessageProducingHandler

    messagingTemplate

    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
    KinesisMessageHandler(software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Map<String,?>
    additionalOnSuccessHeaders(software.amazon.awssdk.services.kinesis.model.KinesisRequest request, software.amazon.awssdk.services.kinesis.model.KinesisResponse response)
     
    protected void
     
    protected Message<?>
    handleResponse(Message<?> message, software.amazon.awssdk.services.kinesis.model.KinesisRequest request, software.amazon.awssdk.services.kinesis.model.KinesisResponse response, Throwable cause)
     
    protected void
     
    void
    setEmbeddedHeadersMapper(org.springframework.integration.mapping.OutboundMessageMapper<byte[]> embeddedHeadersMapper)
    Specify a OutboundMessageMapper for embedding message headers into the record data together with payload.
    void
    setExplicitHashKey(String explicitHashKey)
     
    void
    setExplicitHashKeyExpression(Expression explicitHashKeyExpression)
     
    void
    setExplicitHashKeyExpressionString(String explicitHashKeyExpression)
     
    void
    Configure a MessageConverter for converting payload to byte[] for Kinesis record.
    void
    setPartitionKey(String partitionKey)
     
    void
    setPartitionKeyExpression(Expression partitionKeyExpression)
     
    void
    setPartitionKeyExpressionString(String partitionKeyExpression)
     
    void
    setSendTimeout(long sendTimeout)
     
    void
    setSendTimeoutExpression(Expression sendTimeoutExpression)
     
    void
    setSendTimeoutExpressionString(String sendTimeoutExpression)
     
    void
    setSequenceNumberExpression(Expression sequenceNumberExpression)
     
    void
    setSequenceNumberExpressionString(String sequenceNumberExpression)
     
    void
    setStream(String stream)
     
    void
    setStreamExpression(Expression streamExpression)
     
    void
     
    protected boolean
     

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

    addNotPropagatedHeaders, createOutputMessage, getNotPropagatedHeaders, getOutputChannel, isAsync, messageBuilderForReply, produceOutput, resolveErrorChannel, sendErrorMessage, sendOutput, sendOutputs, setAsync, setNotPropagatedHeaders, setOutputChannel, setOutputChannelName, setupMessageProcessor, shouldSplitOutput, updateNotPropagatedHeaders

    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, getComponentType, 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, getComponentDescription, getComponentName, getComponentSource, getConversionService, getExpression, getIntegrationProperties, getMessageBuilderFactory, getTaskScheduler, isInitialized, setApplicationContext, setBeanFactory, setBeanName, setChannelResolver, setComponentDescription, setComponentName, setComponentSource, 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

    • KinesisMessageHandler

      public KinesisMessageHandler(software.amazon.awssdk.services.kinesis.KinesisAsyncClient amazonKinesis)
  • Method Details

    • setMessageConverter

      public void setMessageConverter(MessageConverter messageConverter)
      Configure a MessageConverter for converting payload to byte[] for Kinesis record.
      Parameters:
      messageConverter - the MessageConverter to use.
    • setStream

      public void setStream(String stream)
    • setStreamExpressionString

      public void setStreamExpressionString(String streamExpression)
    • setStreamExpression

      public void setStreamExpression(Expression streamExpression)
    • setPartitionKey

      public void setPartitionKey(String partitionKey)
    • setPartitionKeyExpressionString

      public void setPartitionKeyExpressionString(String partitionKeyExpression)
    • setPartitionKeyExpression

      public void setPartitionKeyExpression(Expression partitionKeyExpression)
    • setExplicitHashKey

      public void setExplicitHashKey(String explicitHashKey)
    • setExplicitHashKeyExpressionString

      public void setExplicitHashKeyExpressionString(String explicitHashKeyExpression)
    • setExplicitHashKeyExpression

      public void setExplicitHashKeyExpression(Expression explicitHashKeyExpression)
    • setSequenceNumberExpressionString

      public void setSequenceNumberExpressionString(String sequenceNumberExpression)
    • setSequenceNumberExpression

      public void setSequenceNumberExpression(Expression sequenceNumberExpression)
    • setEmbeddedHeadersMapper

      public void setEmbeddedHeadersMapper(org.springframework.integration.mapping.OutboundMessageMapper<byte[]> embeddedHeadersMapper)
      Specify a OutboundMessageMapper for embedding message headers into the record data together with payload.
      Parameters:
      embeddedHeadersMapper - the OutboundMessageMapper to embed headers into the record data.
      See Also:
      • EmbeddedHeadersJsonMessageMapper
    • setSendTimeout

      public void setSendTimeout(long sendTimeout)
      Overrides:
      setSendTimeout in class org.springframework.integration.handler.AbstractMessageProducingHandler
    • setSendTimeoutExpressionString

      public void setSendTimeoutExpressionString(String sendTimeoutExpression)
    • setSendTimeoutExpression

      public void setSendTimeoutExpression(Expression sendTimeoutExpression)
    • onInit

      protected void onInit()
      Overrides:
      onInit in class org.springframework.integration.handler.AbstractMessageProducingHandler
    • shouldCopyRequestHeaders

      protected boolean shouldCopyRequestHeaders()
      Overrides:
      shouldCopyRequestHeaders in class org.springframework.integration.handler.AbstractMessageProducingHandler
    • handleMessageInternal

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

      protected Message<?> handleResponse(Message<?> message, software.amazon.awssdk.services.kinesis.model.KinesisRequest request, software.amazon.awssdk.services.kinesis.model.KinesisResponse response, Throwable cause)
    • additionalOnSuccessHeaders

      protected Map<String,?> additionalOnSuccessHeaders(software.amazon.awssdk.services.kinesis.model.KinesisRequest request, software.amazon.awssdk.services.kinesis.model.KinesisResponse response)