Page tree

Skip to end of metadata
Go to start of metadata

In this section:

Overview

The Parasoft Kafka Transport Extension adds support for the Apache Kafka transport to applicable messaging client tools in SOAtest. This enables you to take full advantage of SOAtest's rich interface when configuring, sending, and validating messages sent over Kafka. 

Requirements

  • Apache Kafka brokers 0.10.0.0 or later
  • Parasoft SOAtest 9.10.0 or later

Installation

This artifact can be installed from the UI or the command line.

UI Installation

  1. Choose Parasoft > Preferences.
  2. In the System Properties preferences page, click Add JARs.
  3. In the file chooser that opens, select kafka.jar.
  4. Click Apply and restart SOAtest.

Command Line Installation

Add the kafka.jar file to the system.properties.classpath property in your localsettings properties file. For example:

system.properties.classpath=<path to jar>/kafka.jar

Usage

You can configure you message client tools (e.g., SOAP ClientEDI Client, and Messaging Client) to use the Kafka Transport by enabling it in the tool's Transport tab. Choose Kafka from the Transport drop-down menu and configure the available options.

If your system has more than one custom extension, choose Kafka from the Select implementation drop-down menu. 

Configuration

The transport can be configured as a producer, consumer, or both. To configure the transport as a producer only, leave the consumer configuration settings empty. To configure the transport as a consumer only, leave the producer configuration settings empty.  

Connection Settings

BrokersSpecify a comma-separated list of servers where Kafka is running, including the ports.
Log Level

Specify how much information you want logged to the console. The default is 2 (warn).

Producer Settings

TopicSpecify the name of a topic to which the producer will write messages.
Partition

Specify the integer number for the partition in a topic (e.g., 0, 1, 2).

If empty, the record key will be used to generate a partition number.

Record Key SerializerSpecify whether the key should be written/sent as a string or as null. The default value is string.
Record KeySpecify the record key.
Idempotent

Specify true to insure that only one message and no duplicates will be sent to the broker. Default is false.

Request TimeoutSpecify the how long to wait in milliseconds to send and receive an acknowledgment before timing out. Default is 30000.

Consumer Settings

Topic

Specify the name of a topic or a comma-separated list of topics to which the consumer should subscribe.

You can specify a partition within the topic with a colon and the integer number for the partition. For example, topic1:0.

Group idSpecify the group to which the consumer belongs. This property is required when partition is not specified with the topic.
OffsetSpecify the position within a topic/partition to begin reading records.
Poll intervalSpecify a duration in milliseconds between polling. Default is 100.
Max Poll RecordsSpecify the maximum number of records to poll between intervals. Default is 500.
Commit Offsets

Specify a mode for committing offsets. Commits are points in the partition at which the consumer can resume processing records.

  • autocommit: In this mode, Kafka will determine offset commits.
  • lastProcessedMessage: In this mode, the last message processed is set as the commit offset.
  • off: In this mode, no offsets are committed.

Default is autocommit.

TimeoutSpecify how many milliseconds the consumer should wait for messages to be published to the subscribed topic/partition before disconnecting. Default is 30000.

Connection Management Settings 

Keep connection alive

Enable this option to keep the client connection alive and reused for subsequent publishing.

Close connection after test execution

Enable this option to close the client connection directly after publishing.

Third-party Content

This extension includes items that have been sourced from third parties as outlined below.

Additional license details are available in this plugin's licenses folder.

  • No labels