The latest version for DAS is WSO2 Data Analytics Server 3.1.0. View documentation for the latest release.
WSO2 Data Analytics Server is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.

All docs This doc
Skip to end of metadata
Go to start of metadata

The Apache Kafka event receiver subscribes to a user-defined topic on a user-configured Kafka broker. Then the messages published to that topic are received by the Kafka receiver and forwarded to the WSO2 product engine. This feature is donated by Andres Gomez Ferrer. For more information, see Apache Kafka documentation.


Set up the below prerequisites to start configuring an Apache Kafka event receiver.

  1. Download Apache Kafka server
  2. Copy the following client JAR files from <KAFKA_HOME>/lib/ directory to <PRODUCT_HOME>/repository/components/lib/ directory.
    • kafka_2.10-0.8.1.jar
    • zkclient-0.3.jar
    • scala-library-2.10.1.jar
    • zookeeper-3.3.4.jar
    • kafka-clients-
    • metrics-core-2.2.0

    Kafka_2.10- is backward compatible. Therefore, you can use Kafka_2.10- client jars to connect with Kafka_2.10-

    If you are using Kafka_2.11-, you need to download this jar and save it in the <PRODUCT_HOME>/repository/components/lib/ directory.

  3. Start the Apache Kafka server.

Creating an Kafka event receiver 

For instructions on creating an Apache Kafka event receiver, see Configuring Event Receivers.

Configuring adapter properties

Specify the Adapter Properties , when creating an Apache Kafka event receiver using the management console as shown below.

Apache Kafka input event adapter

After entering the above adapter properties, select the Event Stream to which you want to map the incoming events, and the Message Format that you want to apply on the receiving events. Also, click Advanced to define custom input mappings based on the Message Format you selected. For more information on custom input mapping types, see Input Mapping Types.

You can also d efine the respective adapter properties of the event receiver based on the transport type within the <from> element of the event receiver configuration in the <PRODUCT_HOME>/repository/deployment/server/eventreceivers/ directory as follows.

<eventReceiver name="KafkaInputEventAdpater" statistics="disable" trace="disable" xmlns="">
    <from eventAdapterType="kafka">
        <property name="topic">test_topic</property>
        <property name="zookeeper.connect"></property>
        <property name="threads">4</property>
        <property name="optional.configuration"></property>
        <property name="">groupid</property>
        <property name="">false</property>

The above adapter properties are described below.

Adapter Property
Configuration file propertyExample

Server Zookeeper IP

IP address of the Zookeeper Server


Group ID Kafka

Kafka consumer group id which uniquely identifies a set of consumers within the same consumer group


Number of consumer threads

Optional Configuration Properties

Valid property and value pairs to denote o ptional configuration properties for Apache Kafka. (E.g. "property1: value1, property2: value2")

For more information on Axis2 JMS properties, go to Apache Kafka Documentation.
Topic Kafka Name of the Kafka topic to which, input messages are published
Is events duplicated in cluster In a cluster whether the same event can reach two receiver nodes

Related samples

For more information on kafka event receiver type, see the following sample.

  • No labels