Examples

The following code block showcases several ways to use the KafkaProducer:

use com.teracloud.streams.kafka::*;
public composite KafkaProducerSample {
  graph
    stream<MessageType.StringMessage, tuple<rstring topic, int32 partition>> Messages = Beacon() {}

    // Basic single topic example
    () as SingleTopicProducer = KafkaProducer(Messages) {
      param
        topic : "test";
        propertiesFile : "etc/consumer.properties";
    }

    // Multi-topic example
    () as MultiTopicProducer = KafkaProducer(Messages) {
      param
        topic : "test,test2";
        propertiesFile : "etc/consumer.properties";
    }

    // Partition example
    () as PartitionProducer = KafkaProducer(Messages) {
      param
        topic : "test";
        partitionAttribute : partition;
        propertiesFile : "etc/consumer.properties";
    }

    // Topic in Stream example
    () as TopicInStreamProducer = KafkaProducer(Messages) {
      param
        topicAttribute : topic;
        propertiesFile : "etc/consumer.properties";
    }
}