Repository: camel Updated Branches: refs/heads/master f2fc0e015 -> f51f709b5
CAMEL-10722: ServiceCall : improve configuration of service-call components in Java DSL Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f51f709b Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f51f709b Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f51f709b Branch: refs/heads/master Commit: f51f709b5aee2505a4e9c7a317acb5805198efe8 Parents: f2fc0e0 Author: lburgazzoli <[email protected]> Authored: Tue Jan 17 19:00:41 2017 +0100 Committer: lburgazzoli <[email protected]> Committed: Wed Jan 18 13:19:26 2017 +0100 ---------------------------------------------------------------------- .../ServiceCallConfigurationDefinition.java | 61 ++++++++++++++++++- .../camel/model/cloud/ServiceCallConstants.java | 4 +- .../model/cloud/ServiceCallDefinition.java | 63 ++++++++++++++++++-- .../cloud/ConsulRibbonServiceCallRouteTest.java | 3 +- .../cloud/RibbonServiceCallRouteDslTest.java | 4 +- 5 files changed, 123 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java index b4aaac0..ef9e3a4 100644 --- a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java +++ b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConfigurationDefinition.java @@ -432,6 +432,25 @@ public class ServiceCallConfigurationDefinition extends IdentifiedType { return conf; } + public ServiceCallConfigurationDefinition dnsServiceDiscovery(String domain) { + DnsServiceCallServiceDiscoveryConfiguration conf = new DnsServiceCallServiceDiscoveryConfiguration(); + conf.setDomain(domain); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + + public ServiceCallConfigurationDefinition dnsServiceDiscovery(String domain, String protocol) { + DnsServiceCallServiceDiscoveryConfiguration conf = new DnsServiceCallServiceDiscoveryConfiguration(); + conf.setDomain(domain); + conf.setProto(protocol); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + public EtcdServiceCallServiceDiscoveryConfiguration etcdServiceDiscovery() { EtcdServiceCallServiceDiscoveryConfiguration conf = new EtcdServiceCallServiceDiscoveryConfiguration(); setServiceDiscoveryConfiguration(conf); @@ -446,6 +465,35 @@ public class ServiceCallConfigurationDefinition extends IdentifiedType { return conf; } + public KubernetesServiceCallServiceDiscoveryConfiguration kubernetesClientServiceDiscovery() { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(); + conf.setLookup("client"); + + setServiceDiscoveryConfiguration(conf); + + return conf; + } + + public ServiceCallConfigurationDefinition kubernetesEnvServiceDiscovery() { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(); + conf.setLookup("environment"); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + + public ServiceCallConfigurationDefinition kubernetesDnsServiceDiscovery(String namespace, String domain) { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(); + + conf.setNamespace(namespace); + conf.setDnsDomain(domain); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + public MultiServiceCallServiceDiscoveryConfiguration multiServiceDiscovery() { MultiServiceCallServiceDiscoveryConfiguration conf = new MultiServiceCallServiceDiscoveryConfiguration(); setServiceDiscoveryConfiguration(conf); @@ -464,10 +512,19 @@ public class ServiceCallConfigurationDefinition extends IdentifiedType { // Shortcuts - LoadBalancer // ***************************** - public RibbonServiceCallLoadBalancerConfiguration ribbonLoadBalancer() { + public ServiceCallConfigurationDefinition ribbonLoadBalancer() { RibbonServiceCallLoadBalancerConfiguration conf = new RibbonServiceCallLoadBalancerConfiguration(); setLoadBalancerConfiguration(conf); - return conf; + return this; + } + + public ServiceCallConfigurationDefinition ribbonLoadBalancer(String clientName) { + RibbonServiceCallLoadBalancerConfiguration conf = new RibbonServiceCallLoadBalancerConfiguration(); + conf.setClientName(clientName); + + setLoadBalancerConfiguration(conf); + + return this; } } http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java index 09910d1..33f7011 100644 --- a/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java +++ b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallConstants.java @@ -21,10 +21,12 @@ import java.util.List; final class ServiceCallConstants { public static final List<ServiceCallServiceDiscoveryConfiguration> SERVICE_DISCOVERY_CONFIGURATIONS = Arrays.asList( + new CachingServiceCallServiceDiscoveryConfiguration(), new ConsulServiceCallServiceDiscoveryConfiguration(), + new DnsServiceCallServiceDiscoveryConfiguration(), new EtcdServiceCallServiceDiscoveryConfiguration(), new KubernetesServiceCallServiceDiscoveryConfiguration(), - new DnsServiceCallServiceDiscoveryConfiguration() + new MultiServiceCallServiceDiscoveryConfiguration() ); public static final List<ServiceCallLoadBalancerConfiguration> LOAD_BALANCER_CONFIGURATIONS = Arrays.asList( http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/camel-core/src/main/java/org/apache/camel/model/cloud/ServiceCallDefinition.java ---------------------------------------------------------------------- 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 caa97ff..6c5cdc8 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 @@ -479,14 +479,12 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit // Shortcuts - ServiceDiscovery // ***************************** - /* public CachingServiceCallServiceDiscoveryConfiguration cachingServiceDiscovery() { CachingServiceCallServiceDiscoveryConfiguration conf = new CachingServiceCallServiceDiscoveryConfiguration(this); setServiceDiscoveryConfiguration(conf); return conf; } - */ public ConsulServiceCallServiceDiscoveryConfiguration consulServiceDiscovery() { ConsulServiceCallServiceDiscoveryConfiguration conf = new ConsulServiceCallServiceDiscoveryConfiguration(this); @@ -502,6 +500,25 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit return conf; } + public ServiceCallDefinition dnsServiceDiscovery(String domain) { + DnsServiceCallServiceDiscoveryConfiguration conf = new DnsServiceCallServiceDiscoveryConfiguration(this); + conf.setDomain(domain); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + + public ServiceCallDefinition dnsServiceDiscovery(String domain, String protocol) { + DnsServiceCallServiceDiscoveryConfiguration conf = new DnsServiceCallServiceDiscoveryConfiguration(this); + conf.setDomain(domain); + conf.setProto(protocol); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + public EtcdServiceCallServiceDiscoveryConfiguration etcdServiceDiscovery() { EtcdServiceCallServiceDiscoveryConfiguration conf = new EtcdServiceCallServiceDiscoveryConfiguration(this); setServiceDiscoveryConfiguration(conf); @@ -516,6 +533,35 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit return conf; } + public KubernetesServiceCallServiceDiscoveryConfiguration kubernetesClientServiceDiscovery() { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(this); + conf.setLookup("client"); + + setServiceDiscoveryConfiguration(conf); + + return conf; + } + + public ServiceCallDefinition kubernetesEnvServiceDiscovery() { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(this); + conf.setLookup("environment"); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + + public ServiceCallDefinition kubernetesDnsServiceDiscovery(String namespace, String domain) { + KubernetesServiceCallServiceDiscoveryConfiguration conf = new KubernetesServiceCallServiceDiscoveryConfiguration(this); + conf.setLookup("dns"); + conf.setNamespace(namespace); + conf.setDnsDomain(domain); + + setServiceDiscoveryConfiguration(conf); + + return this; + } + public MultiServiceCallServiceDiscoveryConfiguration multiServiceDiscovery() { MultiServiceCallServiceDiscoveryConfiguration conf = new MultiServiceCallServiceDiscoveryConfiguration(this); setServiceDiscoveryConfiguration(conf); @@ -534,11 +580,20 @@ public class ServiceCallDefinition extends NoOutputDefinition<ServiceCallDefinit // Shortcuts - LoadBalancer // ***************************** - public RibbonServiceCallLoadBalancerConfiguration ribbonLoadBalancer() { + public ServiceCallDefinition ribbonLoadBalancer() { RibbonServiceCallLoadBalancerConfiguration conf = new RibbonServiceCallLoadBalancerConfiguration(this); setLoadBalancerConfiguration(conf); - return conf; + return this; + } + + public ServiceCallDefinition ribbonLoadBalancer(String clientName) { + RibbonServiceCallLoadBalancerConfiguration conf = new RibbonServiceCallLoadBalancerConfiguration(this); + conf.setClientName(clientName); + + setLoadBalancerConfiguration(conf); + + return this; } // ***************************** http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java ---------------------------------------------------------------------- diff --git a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java index e0e30f2..a8d1446 100644 --- a/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java +++ b/components/camel-consul/src/test/java/org/apache/camel/component/consul/cloud/ConsulRibbonServiceCallRouteTest.java @@ -98,9 +98,8 @@ public class ConsulRibbonServiceCallRouteTest extends ConsulTestSupport { .serviceCall() .name(SERVICE_NAME) .ribbonLoadBalancer() - .end() .consulServiceDiscovery() - .endParent() + .endParent() .to("log:org.apache.camel.component.consul.processor.service?level=INFO&showAll=true&multiline=true") .to("mock:result"); http://git-wip-us.apache.org/repos/asf/camel/blob/f51f709b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java ---------------------------------------------------------------------- diff --git a/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java index c2f8b67..28a2897 100644 --- a/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java +++ b/components/camel-ribbon/src/test/java/org/apache/camel/component/ribbon/cloud/RibbonServiceCallRouteDslTest.java @@ -45,12 +45,10 @@ public class RibbonServiceCallRouteDslTest extends CamelTestSupport { .serviceCall() .name("myService") .ribbonLoadBalancer() - .end() .staticServiceDiscovery() .server("localhost:9090") .server("localhost:9091") - .end() - .end() + .endParent() .to("mock:result"); from("jetty:http://localhost:9090") .to("mock:9090")
