Class KafkaMessageSender

  • All Implemented Interfaces:
    de.otto.synapse.endpoint.MessageEndpoint, de.otto.synapse.endpoint.sender.MessageSender, de.otto.synapse.endpoint.sender.MessageSenderEndpoint

    public class KafkaMessageSender
    extends de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static long UPDATE_PARTITION_DELAY  
      • Fields inherited from class de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint

        BATCH_SENDER_TIMEOUT
    • Constructor Summary

      Constructors 
      Constructor Description
      KafkaMessageSender​(java.lang.String channelName, de.otto.synapse.endpoint.MessageInterceptorRegistry interceptorRegistry, de.otto.synapse.translator.MessageTranslator<de.otto.synapse.message.TextMessage> messageTranslator, org.springframework.kafka.core.KafkaTemplate<java.lang.String,​java.lang.String> kafkaTemplate)  
    • Method Summary

      Modifier and Type Method Description
      protected java.util.concurrent.CompletableFuture<java.lang.Void> doSend​(de.otto.synapse.message.TextMessage message)  
      protected java.util.concurrent.CompletableFuture<java.lang.Void> doSendBatch​(java.util.stream.Stream<de.otto.synapse.message.TextMessage> messageStream)  
      de.otto.synapse.translator.MessageFormat getMessageFormat()  
      void updatePartitions()  
      • Methods inherited from class de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint

        getEndpointType, send, sendBatch
      • Methods inherited from class de.otto.synapse.endpoint.AbstractMessageEndpoint

        getChannelName, getInterceptorChain, intercept
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface de.otto.synapse.endpoint.MessageEndpoint

        getChannelName, getInterceptorChain, intercept
    • Field Detail

      • UPDATE_PARTITION_DELAY

        public static final long UPDATE_PARTITION_DELAY
        See Also:
        Constant Field Values
    • Constructor Detail

      • KafkaMessageSender

        public KafkaMessageSender​(java.lang.String channelName,
                                  de.otto.synapse.endpoint.MessageInterceptorRegistry interceptorRegistry,
                                  de.otto.synapse.translator.MessageTranslator<de.otto.synapse.message.TextMessage> messageTranslator,
                                  org.springframework.kafka.core.KafkaTemplate<java.lang.String,​java.lang.String> kafkaTemplate)
    • Method Detail

      • updatePartitions

        @Scheduled(initialDelay=10000L,
                   fixedDelay=10000L)
        public void updatePartitions()
      • doSend

        protected java.util.concurrent.CompletableFuture<java.lang.Void> doSend​(@Nonnull
                                                                                de.otto.synapse.message.TextMessage message)
        Specified by:
        doSend in class de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint
      • doSendBatch

        protected java.util.concurrent.CompletableFuture<java.lang.Void> doSendBatch​(@Nonnull
                                                                                     java.util.stream.Stream<de.otto.synapse.message.TextMessage> messageStream)
        Overrides:
        doSendBatch in class de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint
      • getMessageFormat

        public de.otto.synapse.translator.MessageFormat getMessageFormat()
        Overrides:
        getMessageFormat in class de.otto.synapse.endpoint.sender.AbstractMessageSenderEndpoint