All docs This doc

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The publishMessage operation Go to the tab of the Kafka version that you use:

Localtab Group
Localtab
title2.9.2-0.8.1.1

The publishMessage operation allows you to publish messages to Kafka brokers using Kafka topics.

Code Block
languagexml
titlepublishMessages
<kafkaTransport.publishMessages>
	<topic>topicName</topic>
</kafkaTransport.publishMessages>
Properties
  • topic: The name of the topic.

Sample scenario

Following is a sample scenario that demonstrates how to send messages to a Kafka broker using Kafka topics.

Prerequisites

...

  •  directory to the <ESB_HOME>/repository/components/lib directory.

    • kafka_2.9.2-0.8.1.1.jar
    • scala-library-2.9.2.jar
    • zkclient-0.3.jar
    • zookeeper-3.3.4.jar
    • metrics-core-2.2.0.jar
  • Run the following command to start the ZooKeeper server:

    Code Block
    bin/zookeeper-server-start.sh config/zookeeper.properties

    You will see the following log:
    Image Modified

  • Run the following command to start the Kafka server:

    Code Block
    bin/kafka-server-start.sh config/server.properties

    You will see the following log:
    Image Modified

Building the sample

Following is a sample proxy service that illustrates how you can connect to a Kakfa broker with

...

the init

...

 operation and use the publishMessages

...

 operation to publish the messages with the topic.

Code Block
languagexml
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="KafkaTransport"
       transports="https http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <kafkaTransport.init>
            <brokerList>localhost:9092</brokerList>
         </kafkaTransport.init>
         <kafkaTransport.publishMessages>
            <topic>test</topic>
         </kafkaTransport.publishMessages>
      </inSequence>
   </target>
</proxy>   

Following is a sample client(JMeter) screen that displays how to send a message:

Image Modified

Analyzing the output

  • Run the following command to verify the messages:

    Code Block
    bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

    You will see the following message content:

...

          <name>sample</name>

         This demonstrates that the Kafka connector publishes messages to Kafka brokers.