debezium / debezium/dbz

Quarkus outbox extension should use custom entity class for customization [DBZ-4587]

Open
#561 0 comments 0 reactions 1 assignee Claimed by @Naros View on GitHub
component/outbox migrated-from-jira type/task
Dominant language
HTML
Stars
6
Forks
8
Avg merge
2d 19h
Merged PRs (30d)
1

Description

Migrated from [DBZ-4587](https://issues.redhat.com/browse/DBZ-4587)

The structure of the outbox table is currently configured by a range of [configuration properties|https://debezium.io/documentation/reference/stable/integrations/outbox.html#_build_time_configuration_options]. As of DBZ-4317, this was further built out by allowing for additional custom fields/columns to be configured. This is becoming a bit unwieldy, and a more Java-based way of configuring that entity is desirable. As per [~ccranfor@redhat.com], we could have this:

{quote}
* Default outbox entities get contributed without the need for any user configuration or entity mappings at all.
* Users could extend the default outbox entities and add only the extra bits, think of their custom outbox entity mapped as @Entity where-as the default outbox implementation is mapped using @MappedSuperclass.
* Users could supply their own outbox entity without extending the supplied entity if they want full 100% control over the mapping, using an @Entity.
{quote}

As part of this rework we should also re-consider how any additional properties are to be provided in {{ExportedEvent}} implementations. Instead of exposing them via a map, we could support retrieval from getters corresponding to the configured layout of the outbox event entity.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.