Class KafkaTransporter

All Implemented Interfaces:
MetricConstants, MoleculerLifecycle

public class KafkaTransporter extends Transporter
Kafka Transporter. Kafka is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies. Sample of usage:
KafkaTransporter kafka = new KafkaTransporter();
kafka.setUrls(new String[] { "192.168.51.29:9092" });
kafka.setDebug(true);
kafka.setProducerProperty("session.timeout.ms", "30000");
ServiceBroker broker = ServiceBroker.builder().transporter(kafka).build();
// broker.createService(new Service("test") {...});
broker.start();
Required dependency:

// https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients
compile group: 'org.apache.kafka', name: 'kafka-clients', version: '2.4.0'
See Also:
  • Field Details

    • producerProperties

      protected Properties producerProperties
    • consumerProperties

      protected Properties consumerProperties
    • urls

      protected String[] urls
    • producer

      protected org.apache.kafka.clients.producer.KafkaProducer<byte[],byte[]> producer
    • poller

      protected KafkaTransporter.KafkaPoller poller
    • executor

      protected ExecutorService executor
      Executor of reader loop for incoming messages
    • shutDownThreadPools

      protected boolean shutDownThreadPools
  • Constructor Details

    • KafkaTransporter

      public KafkaTransporter()
    • KafkaTransporter

      public KafkaTransporter(String... urls)
  • Method Details

    • connect

      public void connect()
      Specified by:
      connect in class Transporter
    • disconnect

      protected void disconnect()
    • reconnect

      protected void reconnect(Throwable cause)
    • error

      protected void error(Throwable cause)
      Description copied from class: Transporter
      Any I/O error occurred. Implementation-specific error handling goes here (reconnection, etc.).
      Overrides:
      error in class Transporter
      Parameters:
      cause - I/O error
    • stopped

      public void stopped()
      Closes transporter.
      Specified by:
      stopped in interface MoleculerLifecycle
      Overrides:
      stopped in class Transporter
    • subscribe

      public io.datatree.Promise subscribe(String channel)
      Specified by:
      subscribe in class Transporter
    • publish

      public void publish(String channel, io.datatree.Tree message)
      Specified by:
      publish in class Transporter
    • setProducerProperty

      public void setProducerProperty(String key, String value)
    • setConsumerProperty

      public void setConsumerProperty(String key, String value)
    • getUrls

      public String[] getUrls()
    • setUrls

      public void setUrls(String[] urls)
    • getProducerProperties

      public Properties getProducerProperties()
    • setProducerProperties

      public void setProducerProperties(Properties producerProperties)
    • getConsumerProperties

      public Properties getConsumerProperties()
    • setConsumerProperties

      public void setConsumerProperties(Properties consumerProperties)
    • getExecutor

      public ExecutorService getExecutor()
    • setExecutor

      public void setExecutor(ExecutorService executor)
    • isShutDownThreadPools

      public boolean isShutDownThreadPools()
    • setShutDownThreadPools

      public void setShutDownThreadPools(boolean shutDownThreadPools)