Kafka sender transport component
To send messages to a Kafka topic, you can configure the sender mode of the Kafka transport component that is available in the Sterling™ Order Management System Software service definition framework and can be accessed from process modeling in the Applications Manager.
xmljson.usejson.out.forflows with the list of
services that require JSON output. When a Kafka sender is included in the service flow, messages
sent to the Kafka topic are in JSON format.You can use the Kafka sender transport component in synchronous and asynchronous services to send messages from Sterling Order Management System Software to Kafka.
| Fields | Description |
|---|---|
| Topic | A mandatory field that specifies where the Kafka messages are sent. |
| Config Group Id | An optional field that lists the identifier that uses the set of pass-through properties for Kafka configuration definitions. If you do not specify any value, the global config group ID is used. If the global config group ID is not specified, Kafka uses the default value for each configuration. |
| Partition Id | An optional field. Define the ID for the partition key. If you do not specify the ID, the Kafka Producer determines the partition ID. |
| Partition Key | An optional field. You can specify a static string or a valid XPath expression that resolves
to a value within the message, such as a customer ID. It can be used as the partition key. If the
XPath does not resolve to a valid value, the Kafka producer assigns a null partition key, and the
default sticky partitioning logic of Kafka is applied. To troubleshoot incorrect partitioning, you can enable the Kafka debug logs to verify the XPath resolution and update it if it does not extract the correct partition key. |
| Wait on send | By default, this checkbox is selected, and Kafka sends the messages synchronously until the messages are written to the destination topic. If the checkbox is cleared, Kafka sends the messages asynchronously. |
| Commit of this message depends on parent transaction | Select the Commit of this message depends on parent transaction checkbox to use Kafka transactional sender. By default, this checkbox is not selected, which indicates that the message commit sent to Kafka is not part of the parent transaction. |
Use the Kafka configurations tab to override the pass-through configuration properties at the specific service level.
Kafka also supports the Kafka headers. The Kafka transport component allows Kafka headers to be
set at the service level on the Kafka Headers tab. Headers that are specific
to the flow or service can be specified as key-value pairs. When the message is sent, the key-value
pairs are sent to the Kafka producer as part of the
ProducerRecord. However, during the
message creation, Kafka headers cannot be passed dynamically. Kafka headers are service-specific, so
you must specify Kafka headers at the service
level.