davsclaus commented on code in PR #27488:
URL: https://github.com/apache/camel/pull/27488#discussion_r4206868918
##########
components/camel-kafka-common/src/main/java/org/apache/camel/component/kafka/KafkaClientConfiguration.java:
##########
@@ -215,16 +311,32 @@ public abstract class KafkaClientConfiguration implements
Cloneable, HeaderFilte
description = "OAuth scope. Used when saslAuthType is set to
OAUTH.")
private String oauthScope;
// Schema registry only options
- @UriParam(label = "schema")
+ @UriParam(label = "schema",
+ description = "URL of the schema registry servers to use. The
format is host1:port1,host2:port2. This is known"
+ + " as schema.registry.url in multiple Schema
registries documentation. This option is only "
+ + "available externally (not standard Apache
Kafka)")
private String schemaRegistryURL;
- @UriParam(label = "schema,consumer")
+ @UriParam(label = "schema,consumer",
+ description = "This enables the use of a specific Avro reader
for use with the in multiple Schema registries "
+ + "documentation with Avro Deserializers
implementation. This option is only available externally "
+ + "(not standard Apache Kafka)")
private boolean specificAvroReader;
// Additional properties
- @UriParam(label = "common", prefix = "additionalProperties.", multiValue =
true)
+ @UriParam(label = "common", prefix = "additionalProperties.", multiValue =
true,
+ description = "Sets additional properties for either kafka
consumer or kafka producer in case they can't be "
+ + "set directly on the camel configurations (e.g.:
new Kafka properties that are not reflected yet"
+ + " in Camel configurations), the properties have
to be prefixed with additionalProperties.., "
+ + "e.g.:
additionalProperties.transactional.id=12345&additionalProperties.schema.registry.url=http"
+ + "://localhost:8811/avro. If the properties are
set in the application.properties file, they must"
+ + " be prefixed with
camel.component.kafka.additional-properties and the property enclosed in "
+ + "square brackets, like this example: "
+ +
"camel.component.kafka.additional-propertiesdelivery.timeout.ms=15000.")
private Map<String, Object> additionalProperties = new HashMap<>();
Review Comment:
Nit, already in the catalog on main: the old javadoc-to-catalog conversion
dropped the `[...]`, so the example now reads
`additional-propertiesdelivery.timeout.ms=15000` (and `additionalProperties..`
above has a double dot). The setter javadoc still has the correct text:
`camel.component.kafka.additional-properties[delivery.timeout.ms]=15000`. Since
the description is written out by hand now, this is an easy fix, but it changes
`kafka.json`, so the generated files need regenerating. A follow-up is fine too.
##########
docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc:
##########
@@ -4124,6 +4124,26 @@ consumed those partitions while the circuit was open;
now they stay with this co
it runs. A suspended consumer also keeps its fetcher thread after a failed
poll or a reconnect, and the health check
reports it as recoverable.
+=== camel-kafka - shared client code moved to camel-kafka-common
+
+The Kafka client code that the `kafka` component shares with other Kafka based
components has been moved
+from `camel-kafka` into a new `camel-kafka-common` module. This includes
`KafkaClientConfiguration` (the base class
+of `KafkaConfiguration`), `AbstractKafkaComponent`, `KafkaConstants`,
`KafkaHeaderFilterStrategy`, the header
+serializers and deserializers (`org.apache.camel.component.kafka.serde`),
`KafkaSecurityConfigurer` and
+`KafkaAuthType`, `PollExceptionStrategy` and `PollOnError`. The packages and
class names are unchanged.
Review Comment:
Nit: `KafkaConsumerFatalException`, `TaskHealthState`,
`consumer.support.KafkaRecordProcessor` and
`consumer.support.interop.JMSDeserializer` also moved. Could they be added so
the list is complete for anyone who builds their classpath by hand?
##########
components/camel-kafka-common/src/main/java/org/apache/camel/component/kafka/AbstractKafkaComponent.java:
##########
@@ -39,13 +39,26 @@ public abstract class AbstractKafkaComponent extends
HealthCheckComponent
private final List<Runnable> pendingConsumers = new
CopyOnWriteArrayList<>();
- @Metadata(label = "security", defaultValue = "false")
+ @Metadata(label = "security", defaultValue = "false", description =
"Enable usage of global SSL context parameters.")
private boolean useGlobalSslContextParameters;
- @Metadata(autowired = true, label = "consumer,advanced")
+ @Metadata(autowired = true, label = "consumer,advanced",
+ description = "To use a custom strategy with the consumer to
control how to handle exceptions thrown from the "
+ + "Kafka broker while pooling messages.")
Review Comment:
Nit, already in the catalog on main: `pooling` -> `polling` (the javadoc at
line 94 has the same typo). Optional here, since it changes the generated
catalog.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]