[DOC]: Kafka producer example should use bracket notation for Map keys · Issue #516 · conductor-oss/conductor · GitHub
More Web Proxy on the site http://driver.im/
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
The Kafka producer example in workflow-event-listener/README.md in the Kafka publisher section (link) uses dot notation for keys that are bound to a Map<String, Object> (for properties conductor.workflow-status-listener.kafka.producer in the KafkaWorkflowStatusPublisherProperties.java file) .
With Spring Boot, dots inside a map key are treated as path separators, so the values are not bound and Conductor on start get default value for the "bootstrap.servers" key.
Spring Boot’s “Binding Maps” rule requires square-bracket notation when a map key contains dots or other special characters; without it, each segment is treated as a nested property instead of a single map key. docs
The docs should show the bracket notation required for map binding.
Proposed text
Replace the current property examples with keys like this:
conductor.workflow-status-listener.type=kafka
# Kafka Producer Configurations (note the bracket notation for Map keys)
conductor.workflow-status-listener.kafka.producer[bootstrap.servers]=kafka:29092
# Serializers
conductor.workflow-status-listener.kafka.producer[key.serializer]=org.apache.kafka.common.serialization.StringSerializer
conductor.workflow-status-listener.kafka.producer[value.serializer]=org.apache.kafka.common.serialization.StringSerializer
# Reliability Settings
conductor.workflow-status-listener.kafka.producer[acks]=all
conductor.workflow-status-listener.kafka.producer[enable.idempotence]=true
# Retry sending messages if failure
conductor.workflow-status-listener.kafka.producer[retries]=5
conductor.workflow-status-listener.kafka.producer[retry.backoff.ms]=100
# Allow batching (default 0)
conductor.workflow-status-listener.kafka.producer[linger.ms]=10
conductor.workflow-status-listener.kafka.producer[batch.size]=65536
conductor.workflow-status-listener.kafka.producer[buffer.memory]=67108864
# Reduce network load
conductor.workflow-status-listener.kafka.producer[compression.type]=zstd
# Allow multiple in-flight messages (better throughput)
conductor.workflow-status-listener.kafka.producer[max.in.flight.requests.per.connection]=1
# Default Topic for All Workflow Status Eventsconductor.workflow-status-listener.kafka.default-topic=workflow-status-events
The text was updated successfully, but these errors were encountered:
What are you missing in the docs
The Kafka producer example in
workflow-event-listener/README.md
in theKafka publisher
section (link) uses dot notation for keys that are bound to aMap<String, Object>
(for propertiesconductor.workflow-status-listener.kafka.producer
in the KafkaWorkflowStatusPublisherProperties.java file) .With Spring Boot, dots inside a map key are treated as path separators, so the values are not bound and Conductor on start get default value for the "bootstrap.servers" key.
Spring Boot’s “Binding Maps” rule requires square-bracket notation when a map key contains dots or other special characters; without it, each segment is treated as a nested property instead of a single map key.
docs
The docs should show the bracket notation required for map binding.
Proposed text
Replace the current property examples with keys like this:
The text was updated successfully, but these errors were encountered: