Skip to content

Latest commit

 

History

History
42 lines (25 loc) · 1.29 KB

pip-407.md

File metadata and controls

42 lines (25 loc) · 1.29 KB

PIP-407: Add a newMessage API to create a message with a schema and transaction

Background knowledge

Pulsar allows messages to be produced with a schema and with a transaction. The producer API allows for messages to be created with a schema or with a transaction.

Motivation

The producer API does not expose a method to publish a message with a schema and transaction. This is a gap in the public API that can be addressed by adding a new overload that creates a message with a schema and a transaction.

Goals

Make it possible to produce a message that has a custom schema within a transaction.

In Scope

Add a new method to the Producer public API, and corresponding implementation, that allows for messages to be created with a custom schema and a transaction.

Public-facing Changes

Add a new method to Producer to create a Message that accepts a schema and transaction

Public API

Producer.java

    <V> TypedMessageBuilder<V> newMessage(Schema<V> schema,
                                          Transaction txn);

Backward & Forward Compatibility

Fully compatible.

Links