This is an automated email from the ASF dual-hosted git repository.

jamesnetherton pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/main by this push:
     new f06e07f  Check whether service binding is enabled before creating 
QuarkusKafkaClientFactory
f06e07f is described below

commit f06e07f159e448a0ed3eb65f4036458a9e40c384
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Wed Oct 6 09:27:17 2021 +0100

    Check whether service binding is enabled before creating 
QuarkusKafkaClientFactory
    
    Fixes #3154
---
 ...onfiguration-disable-service-binding.properties |  4 ++++
 .../kafka/KafkaClientFactoryProducer.java          | 23 ++++++++++++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git 
a/extensions/kafka/deployment/src/test/resources/application-configuration-disable-service-binding.properties
 
b/extensions/kafka/deployment/src/test/resources/application-configuration-disable-service-binding.properties
index f1b2374..f27c317 100644
--- 
a/extensions/kafka/deployment/src/test/resources/application-configuration-disable-service-binding.properties
+++ 
b/extensions/kafka/deployment/src/test/resources/application-configuration-disable-service-binding.properties
@@ -16,3 +16,7 @@
 ## ---------------------------------------------------------------------------
 quarkus.kafka.devservices.enabled=false
 quarkus.kubernetes-service-binding.enabled=false
+
+kafka.bootstrap.servers=localhost:9092
+kafka.client.id=camel-quarkus-client
+kafka.request.timeout.ms=1000
diff --git 
a/extensions/kafka/runtime/src/main/java/org/apache/camel/quarkus/component/kafka/KafkaClientFactoryProducer.java
 
b/extensions/kafka/runtime/src/main/java/org/apache/camel/quarkus/component/kafka/KafkaClientFactoryProducer.java
index 822d330..4d23b3f 100644
--- 
a/extensions/kafka/runtime/src/main/java/org/apache/camel/quarkus/component/kafka/KafkaClientFactoryProducer.java
+++ 
b/extensions/kafka/runtime/src/main/java/org/apache/camel/quarkus/component/kafka/KafkaClientFactoryProducer.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.component.kafka;
 
 import java.util.Map;
+import java.util.Optional;
 
 import javax.enterprise.inject.Produces;
 import javax.inject.Inject;
@@ -25,6 +26,7 @@ import javax.inject.Singleton;
 import io.quarkus.arc.DefaultBean;
 import io.smallrye.common.annotation.Identifier;
 import org.apache.camel.component.kafka.KafkaClientFactory;
+import org.eclipse.microprofile.config.Config;
 
 @Singleton
 public class KafkaClientFactoryProducer {
@@ -33,13 +35,30 @@ public class KafkaClientFactoryProducer {
     @Identifier("default-kafka-broker")
     Map<String, Object> kafkaConfig;
 
+    @Inject
+    CamelKafkaRuntimeConfig camelKafkaRuntimeConfig;
+
+    @Inject
+    Config config;
+
     @Produces
     @Singleton
     @DefaultBean
-    public KafkaClientFactory kafkaClientFactory(CamelKafkaRuntimeConfig 
config) {
-        if (kafkaConfig != null && !kafkaConfig.isEmpty() && 
config.kubernetesServiceBinding.mergeConfiguration) {
+    public KafkaClientFactory kafkaClientFactory() {
+        if (isQuarkusKafkaClientFactoryRequired()) {
             return new QuarkusKafkaClientFactory(kafkaConfig);
         }
         return null;
     }
+
+    private boolean isQuarkusKafkaClientFactoryRequired() {
+        Optional<Boolean> serviceBindingEnabled = config.getOptionalValue(
+                "quarkus.kubernetes-service-binding.enabled",
+                Boolean.class);
+        return kafkaConfig != null
+                && !kafkaConfig.isEmpty()
+                && 
camelKafkaRuntimeConfig.kubernetesServiceBinding.mergeConfiguration
+                && serviceBindingEnabled.isPresent()
+                && serviceBindingEnabled.get();
+    }
 }

Reply via email to