You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2021/04/26 07:58:04 UTC

[camel-spring-boot] 01/03: camel-cloud - Added recently exchange as parameter

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

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

commit 8c7af593f21c19c460b75982fa91b549c6bbf7dd
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Apr 26 09:47:15 2021 +0200

    camel-cloud - Added recently exchange as parameter
---
 .../apache/camel/spring/boot/cloud/CamelCloudServiceFilter.java  | 5 +++--
 .../camel/spring/cloud/netflix/CamelCloudNetflixServerList.java  | 6 +++---
 .../cloud/netflix/CamelCloudNetflixServiceLoadBalancer.java      | 3 ++-
 .../camel/spring/cloud/CamelSpringCloudServiceLoadBalancer.java  | 5 +++--
 .../apache/camel/spring/cloud/DefaultServiceLoadBalancer.java    | 9 ++++-----
 5 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceFilter.java b/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceFilter.java
index da4e0c8..e517ba2 100644
--- a/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceFilter.java
+++ b/core/camel-spring-boot/src/main/java/org/apache/camel/spring/boot/cloud/CamelCloudServiceFilter.java
@@ -18,6 +18,7 @@ package org.apache.camel.spring.boot.cloud;
 
 import java.util.List;
 
+import org.apache.camel.Exchange;
 import org.apache.camel.cloud.ServiceDefinition;
 import org.apache.camel.cloud.ServiceFilter;
 import org.apache.camel.impl.cloud.CombinedServiceFilter;
@@ -30,7 +31,7 @@ public class CamelCloudServiceFilter implements ServiceFilter {
     }
 
     @Override
-    public List<ServiceDefinition> apply(List<ServiceDefinition> serviceDefinitionList) {
-        return  this.serviceFilter.apply(serviceDefinitionList);
+    public List<ServiceDefinition> apply(Exchange exchange, List<ServiceDefinition> services) {
+        return this.serviceFilter.apply(exchange, services);
     }
 }
diff --git a/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServerList.java b/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServerList.java
index 5aeb106..cd9fd6e 100644
--- a/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServerList.java
+++ b/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServerList.java
@@ -33,7 +33,7 @@ public class CamelCloudNetflixServerList extends AbstractServerList<RibbonServic
     private String serviceId;
 
     public CamelCloudNetflixServerList() {
-        this(null, list -> list);
+        this(null, null);
     }
 
     public CamelCloudNetflixServerList(ServiceDiscovery serviceDiscovery, ServiceFilter serviceFilter) {
@@ -70,7 +70,7 @@ public class CamelCloudNetflixServerList extends AbstractServerList<RibbonServic
 
         List<ServiceDefinition> services = serviceDiscovery.getServices(serviceId);
         if (serviceFilter != null) {
-            services = serviceFilter.apply(services);
+            services = serviceFilter.apply(null, services);
         }
 
         return convert(services);
@@ -84,7 +84,7 @@ public class CamelCloudNetflixServerList extends AbstractServerList<RibbonServic
 
         List<ServiceDefinition> services = serviceDiscovery.getServices(serviceId);
         if (serviceFilter != null) {
-            services = serviceFilter.apply(services);
+            services = serviceFilter.apply(null, services);
         }
 
         return convert(services);
diff --git a/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServiceLoadBalancer.java b/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServiceLoadBalancer.java
index dd96e6d..5c253f5 100644
--- a/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServiceLoadBalancer.java
+++ b/core/camel-spring-cloud-netflix/src/main/java/org/apache/camel/spring/cloud/netflix/CamelCloudNetflixServiceLoadBalancer.java
@@ -19,6 +19,7 @@ package org.apache.camel.spring.cloud.netflix;
 import java.util.List;
 
 import com.netflix.loadbalancer.Server;
+import org.apache.camel.Exchange;
 import org.apache.camel.cloud.ServiceDefinition;
 import org.apache.camel.cloud.ServiceLoadBalancer;
 import org.apache.camel.cloud.ServiceLoadBalancerFunction;
@@ -37,7 +38,7 @@ public class CamelCloudNetflixServiceLoadBalancer implements ServiceLoadBalancer
     }
 
     @Override
-    public <T> T process(String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
+    public <T> T process(Exchange exchange, String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
         return client.execute(serviceName, instance -> {
             ServiceDefinition definition = null;
 
diff --git a/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudServiceLoadBalancer.java b/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudServiceLoadBalancer.java
index 6a1ebbc..dcff8cf 100644
--- a/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudServiceLoadBalancer.java
+++ b/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/CamelSpringCloudServiceLoadBalancer.java
@@ -20,6 +20,7 @@ import java.util.Optional;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
+import org.apache.camel.Exchange;
 import org.apache.camel.cloud.ServiceLoadBalancer;
 import org.apache.camel.cloud.ServiceLoadBalancerFunction;
 import org.apache.camel.support.service.ServiceSupport;
@@ -63,8 +64,8 @@ public class CamelSpringCloudServiceLoadBalancer extends ServiceSupport implemen
     }
 
     @Override
-    public <T> T process(String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
-        return loadBalancer.process(serviceName, function);
+    public <T> T process(Exchange exchange, String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
+        return loadBalancer.process(exchange, serviceName, function);
     }
 
     // *******************************
diff --git a/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/DefaultServiceLoadBalancer.java b/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/DefaultServiceLoadBalancer.java
index ffbcef9..6d5c763 100644
--- a/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/DefaultServiceLoadBalancer.java
+++ b/core/camel-spring-cloud/src/main/java/org/apache/camel/spring/cloud/DefaultServiceLoadBalancer.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.spring.cloud;
 
+import org.apache.camel.Exchange;
 import org.apache.camel.cloud.ServiceDefinition;
 import org.apache.camel.cloud.ServiceLoadBalancer;
 import org.apache.camel.cloud.ServiceLoadBalancerFunction;
@@ -31,12 +32,10 @@ public class DefaultServiceLoadBalancer implements ServiceLoadBalancer {
     }
 
     @Override
-    public <T> T process(String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
-        return client.execute(serviceName, instance -> {
-            return function.apply(
+    public <T> T process(Exchange exchange, String serviceName, ServiceLoadBalancerFunction<T> function) throws Exception {
+        return client.execute(serviceName, instance -> function.apply(
                 convertServiceInstanceToServiceDefinition(instance)
-            );
-        });
+        ));
     }
 
     protected ServiceDefinition convertServiceInstanceToServiceDefinition(ServiceInstance instance) {