You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
properties resolved dynamically. Spring properties example:
@ConfigurationProperties("eventuate.local.kafka.consumer")
public class EventuateKafkaConsumerSpringConfigurationProperties {
Map<String, String> properties = new HashMap<>();
public Map<String, String> getProperties() {
return properties;
}
}
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:
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?
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:
quarkusio/quarkus#8017
eclipse/microprofile-config#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.
The text was updated successfully, but these errors were encountered: