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

lburgazzoli pushed a commit to branch camel-2.21.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 74c3b7ee3cfb646759ec7280a26420aa92d76486
Author: lburgazzoli <[email protected]>
AuthorDate: Fri Jun 8 18:49:48 2018 +0200

    CAMEL-12561: camel-kubernetes: serviceCall EIP throws NullPointerException
---
 .../java/org/apache/camel/model/cloud/ServiceCallDefinition.java | 9 +++++----
 .../kubernetes/cloud/KubernetesEnvServiceDiscovery.java          | 2 ++
 .../kubernetes/cloud/ServiceCallEnvironmentRouteTest.java        | 2 +-
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
index 74ee07d..038573b 100644
--- 
a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
+++ 
b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java
@@ -28,7 +28,6 @@ import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlTransient;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.CamelContextAware;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.Expression;
 import org.apache.camel.Processor;
@@ -758,9 +757,11 @@ public class ServiceCallDefinition extends 
NoOutputDefinition<ServiceCallDefinit
         final ServiceChooser serviceChooser = 
retrieveServiceChooser(camelContext);
         final ServiceLoadBalancer loadBalancer = 
retrieveLoadBalancer(camelContext);
 
-        if (loadBalancer instanceof CamelContextAware) {
-            ((CamelContextAware) loadBalancer).setCamelContext(camelContext);
-        }
+        ObjectHelper.trySetCamelContext(serviceDiscovery, camelContext);
+        ObjectHelper.trySetCamelContext(serviceFilter, camelContext);
+        ObjectHelper.trySetCamelContext(serviceChooser, camelContext);
+        ObjectHelper.trySetCamelContext(loadBalancer, camelContext);
+
         if (loadBalancer instanceof ServiceDiscoveryAware) {
             ((ServiceDiscoveryAware) 
loadBalancer).setServiceDiscovery(serviceDiscovery);
         }
diff --git 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesEnvServiceDiscovery.java
 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesEnvServiceDiscovery.java
index f8cf453..4e62f0a 100644
--- 
a/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesEnvServiceDiscovery.java
+++ 
b/components/camel-kubernetes/src/main/java/org/apache/camel/component/kubernetes/cloud/KubernetesEnvServiceDiscovery.java
@@ -40,6 +40,8 @@ public class KubernetesEnvServiceDiscovery extends 
KubernetesServiceDiscovery {
             final int port = ctx.getTypeConverter().tryConvertTo(int.class, 
num);
 
             return Collections.singletonList(new 
DefaultServiceDefinition(name, host, port));
+        } catch (IllegalArgumentException e) {
+            return Collections.emptyList();
         } catch (Exception e) {
             throw new RuntimeCamelException(e);
         }
diff --git 
a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/cloud/ServiceCallEnvironmentRouteTest.java
 
b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/cloud/ServiceCallEnvironmentRouteTest.java
index b194d67..c4ccd51 100644
--- 
a/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/cloud/ServiceCallEnvironmentRouteTest.java
+++ 
b/components/camel-kubernetes/src/test/java/org/apache/camel/component/kubernetes/cloud/ServiceCallEnvironmentRouteTest.java
@@ -45,7 +45,7 @@ public class ServiceCallEnvironmentRouteTest extends 
CamelTestSupport {
                 KubernetesConfiguration kubernetesConfiguration = new 
KubernetesConfiguration();
 
                 ServiceCallConfigurationDefinition config = new 
ServiceCallConfigurationDefinition();
-                config.setServiceDiscovery(new 
KubernetesEnvServiceDiscovery(kubernetesConfiguration));
+                config.kubernetesEnvServiceDiscovery();
 
                 // register configuration
                 context.setServiceCallConfiguration(config);

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to