Messaging producer API
- Last Updated: July 5, 2024
- 3 minute read
- OpenEdge
- Version 12.8
- Documentation
OpenEdge.Messaging is a generic messaging API,
made up of a number of classes and interfaces, including classes specific to using
Apache Kafka®. This API supports sending and receiving
messages to and from Kafka. The purpose of the API is to allow the ABL code to perform
operations, such as constructing a producer and sending messages to a Kafka cluster, or
constructing a consumer and consuming messages from a Kafka cluster. For more detail,
see the OpenEdge.Messaging package in the OpenEdge ABL API
Reference. Before using this API, you should be familiar with Kafka concepts
and terminology and know how to set up Kafka with OpenEdge.
- Create and configure a producer builder
- Create and configure a topic builder (optional)
- Create and configure a record builder
- Send records (messages) to a Kafka cluster
The following table describes the classes and interfaces provided by the
OpenEdge.Messaging API for sending messages to Kafka.
| Class or interface | Description |
|---|---|
OpenEdge.Messaging.IProducer |
An interface that provides a way to construct records and send records. |
OpenEdge.Messaging.IProducerRecord |
An interface used by the underlying implementation for holding data that needs to be sent. |
OpenEdge.Messaging.ISendResponse |
An interface that provides a way retrieve the status of a message that was sent. |
OpenEdge.Messaging.ISerializationContext |
An interface that provides serialization information to the serializer. |
OpenEdge.Messaging.ISerializer |
An interface that converts an object to bytes for transmission. |
OpenEdge.Messaging.ITopicConfiguration |
An interface that provides per-topic configuration. |
OpenEdge.Messaging.Kafka.KafkaProducerBuilder |
A class that provides the producer builder for the OpenEdge Kafka producer implementation. |
OpenEdge.Messaging.Kafka.KafkaProducerConfig |
A class that holds the producer configuration constants for the high-priority, producer-related Apache Kafka library options. |
OpenEdge.Messaging.MessagingError |
A messaging error class for when an exception is thrown from the ABL code of the messaging framework. |
OpenEdge.Messaging.ProducerBuilder |
A class that exposes properties and method needed to configure the producer. |
OpenEdge.Messaging.ProducerConfig |
A class which stores the serializer for the record body and
the character encoding if the serializer is a StringSerializer. |
OpenEdge.Messaging.ProducerRegistry |
A class that acts as a single point of configuration where implementations of the messaging API can be registered and retrieved. |
OpenEdge.Messaging.RecordBuilder |
A class that exposes methods needed to configure the record. |
OpenEdge.Messaging.RecordHeader |
A class that constructs record headers. |
OpenEdge.Messaging.TopicConfigurationBuilder |
A class that handles topic specific configuration. |
Relationships between classes/interfaces
The following diagrams show some of the hierarchies and relationships between the classes/interfaces.