Open dartartem opened 3 years ago
You solution seems reasonable. However, I'd support the existing map for Spring/Micronaut since that works well there.
Chris,
If you mean that I should use json configuration only for quarkus modules and use existing approach for spring/micronaut, then I did exactly it. If you mean something else, could you please clarify?
use json configuration only for quarkus modules and use existing approach for spring/micronaut,
Yes
Got it. Thank you.
Background
eventuate-messaging-kafka allows to define any kafka specific property to consumer/producer.
spring application.properties example:
properties resolved dynamically. Spring properties example:
Why it is important
in case if kafka version is updated and provided new configuration properties, it will be not necessary to update eventuate-messaging-kafka
Problem
According the following issues, quarkus does not support similar behavior:
https://github.com/quarkusio/quarkus/issues/8017 https://github.com/eclipse/microprofile-config/issues/545
Only one way I found to support it, it is write quarkus extension:
https://stackoverflow.com/a/61673372/14879093
I see the following drawbacks:
Proposed solution
Currently I implemented json configuration for kafka properties:
eventuate.local.kafka.consumer.additional-properties={"key.serializer" : "org.apache.kafka.common.serialization.StringSerializer", "session.timeout.ms" : "10000"}
It is simple and not much more inconvenient than property per config.