Breadcrumbs

Writing a Message to a Kafka Topic

You can use the Apache Kafka Producer adapter to write a message to a Kafka topic.
The Apache Kafka documentation speaks of events that contain a message, or of records in more technical parts of the documentation. This documentation summarizes all under the term "message".

Write a Message

Using the produce operation of the Apache Kafka adapter, you can write a message to a Kafka topic.

 Attribute

Type

Direction

Description

producerRecord

ProducerRecord

in

Provide the message and the target for the adapter to send the message to a Kafka topic.

recordMetaData

RecordMetaData

out

Returns some meta data about the processing the Kafka broker has done.

producerRecord is a complex structure that defines the message and target.The topic you want to write the message to is the only mandatory parameter.

Attribute

Type

Mandatory

Description

topic

String

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Specify the topic the message should be sent do.

partition

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Specify the partition the message should be send to.

key

Blob

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Specify a key the message should be filed to.

id

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Will be generated. We recommend not to set one manually.

headers

Array of MessageHeader

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Specify headers if you want to provide additional information on the  message content for e.g. routing or filtering use cases.

value

Blob

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Specify the actual message content. Only payload of type Blob is supported.

The Kafka Producer returns some meta data about the processing of the message.

Attribute

Type

Manda-
tory

Description

Allowed Values / Examples

topic

String

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Kafka topic the message has been sent to.


partition

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Topic partition the message has been sent to.


offset

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

Offset of the message within the partition.


recordId

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

The message ID as provided with the call, or as generated if it has not been specified.


keySize

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Actual size of the key in bytes.


valueSize

Integer

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Actual size of the value in bytes.


timestamp

DateTime

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/error.png

A processing timestamp (UTC). See timestampType for what the timestamp refers to.


timestampType

TimestampType

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Indicates what the timestamp refers to.

NotAvailable

Timestamp is unknown.

CreateTime

Timestamp relates to message creation time as set by a Kafka broker.

LogAppendTime

Timestamp relates to the time a message was appended to a Kafka log.

persistedStatus

PersistedStatus

https://scheer-pas-doc.atlassian.net/wiki/s/1919486055/6452/c8d220627d4ff438dbc4c2b41ff70b9a00a36d21/_/images/icons/emoticons/check.png

Status of the message.

NotPersisted

Message was never transmitted to the broker, or failed with an error indicating it was not written to the log.

Persisted

Message was written to the log and acknowledged by the broker.

PossiblyPersisted

Message was transmitted to broker, but no acknowledgement was received.

Transaction Handling

The xUML Runtime handles Apache Kafka Producer calls like is specified in the Runtime transaction concept. All producer calls within a session are wrapped into a dedicated transaction with a random unique transaction ID. These transactions can be rolled back until they have been committed.
You cannot set a custom transaction ID (transactional.id), therefore there will be no fencing.

📗
📘

Related Documentation: