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) {