Repository: camel Updated Branches: refs/heads/master 548dcea76 -> 094348372
http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java ---------------------------------------------------------------------- diff --git a/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java new file mode 100644 index 0000000..bab5b55 --- /dev/null +++ b/components/camel-undertow/src/test/java/org/apache/camel/component/undertow/cloud/UndertowServiceCallRouteTest.java @@ -0,0 +1,73 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.camel.component.undertow.cloud; + +import org.apache.camel.ResolveEndpointFailedException; +import org.apache.camel.RoutesBuilder; +import org.apache.camel.RuntimeCamelException; +import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.test.junit4.CamelTestSupport; +import org.junit.Assert; +import org.junit.Test; + +public class UndertowServiceCallRouteTest extends CamelTestSupport { + + @Test + public void testCustomCall() throws Exception { + Assert.assertEquals("8081", template.requestBody("direct:custom", "hello", String.class)); + Assert.assertEquals("8082", template.requestBody("direct:custom", "hello", String.class)); + } + + @Test + public void testDefaultSchema() throws Exception { + try { + Assert.assertEquals("8081", template.requestBody("direct:default", "hello", String.class)); + } catch (RuntimeCamelException e) { + assertTrue(e.getCause() instanceof ResolveEndpointFailedException); + } + } + + @Override + protected RoutesBuilder createRouteBuilder() throws Exception { + return new RouteBuilder() { + @Override + public void configure() throws Exception { + from("direct:custom") + .serviceCall() + .name("myService") + .component("undertow") + .staticServiceDiscovery() + .server("myService@localhost:8081") + .server("myService@localhost:8082") + .endParent(); + + from("direct:default") + .serviceCall() + .name("myService") + .staticServiceDiscovery() + .server("myService@localhost:8081") + .server("myService@localhost:8082") + .endParent(); + + from("undertow:http://localhost:8081") + .transform().constant("8081"); + from("undertow:http://localhost:8082") + .transform().constant("8082"); + } + }; + } +} http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/examples/camel-example-spring-boot-servicecall/README.adoc ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-boot-servicecall/README.adoc b/examples/camel-example-spring-boot-servicecall/README.adoc index e02ce31..5c2458a 100644 --- a/examples/camel-example-spring-boot-servicecall/README.adoc +++ b/examples/camel-example-spring-boot-servicecall/README.adoc @@ -31,7 +31,7 @@ Using multiple shells: - start consul: $ cd services - $ src/main/bash/consul-run-linx.sh (for linux) + $ src/main/bash/consul-run-linux.sh (for linux) $ src/main/bash/consul-run-osx.sh (for mac osx) - start the service-1 service group: http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/examples/camel-example-spring-boot-servicecall/consumer/src/main/java/org/apache/camel/example/ServiceCallConsumerAutoConfiguration.java ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-boot-servicecall/consumer/src/main/java/org/apache/camel/example/ServiceCallConsumerAutoConfiguration.java b/examples/camel-example-spring-boot-servicecall/consumer/src/main/java/org/apache/camel/example/ServiceCallConsumerAutoConfiguration.java index 1d23d67..dfec5d2 100644 --- a/examples/camel-example-spring-boot-servicecall/consumer/src/main/java/org/apache/camel/example/ServiceCallConsumerAutoConfiguration.java +++ b/examples/camel-example-spring-boot-servicecall/consumer/src/main/java/org/apache/camel/example/ServiceCallConsumerAutoConfiguration.java @@ -37,9 +37,9 @@ public class ServiceCallConsumerAutoConfiguration { .to("log:service-call?level=INFO&showAll=true&multiline=true") .choice() .when(header("serviceId").isEqualTo("service1")) - .serviceCall("service-1", "undertow:http://service-1") + .serviceCall("service-1") .when(header("serviceId").isEqualTo("service2")) - .serviceCall("service-2", "undertow:http://service-2"); + .serviceCall("service-2"); } }; } http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/examples/camel-example-spring-boot-servicecall/consumer/src/main/resources/application.properties ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-boot-servicecall/consumer/src/main/resources/application.properties b/examples/camel-example-spring-boot-servicecall/consumer/src/main/resources/application.properties index 6684b24..bd777b6 100644 --- a/examples/camel-example-spring-boot-servicecall/consumer/src/main/resources/application.properties +++ b/examples/camel-example-spring-boot-servicecall/consumer/src/main/resources/application.properties @@ -9,6 +9,9 @@ camel.springboot.jmx-enabled=false camel.rest.component=servlet camel.rest.binding-mode=auto +# Configure the underlying Service Call component +camel.cloud.service-call.component = undertow + # Configure service filter camel.cloud.service-filter.blacklist[service-1] = localhost:9012 http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/examples/camel-example-spring-cloud-servicecall/consumer/src/main/java/org/apache/camel/example/ConsumerApplication.java ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-cloud-servicecall/consumer/src/main/java/org/apache/camel/example/ConsumerApplication.java b/examples/camel-example-spring-cloud-servicecall/consumer/src/main/java/org/apache/camel/example/ConsumerApplication.java index 6b27931..62590d8 100644 --- a/examples/camel-example-spring-cloud-servicecall/consumer/src/main/java/org/apache/camel/example/ConsumerApplication.java +++ b/examples/camel-example-spring-cloud-servicecall/consumer/src/main/java/org/apache/camel/example/ConsumerApplication.java @@ -42,9 +42,9 @@ public class ConsumerApplication { .to("log:service-call?level=INFO&showAll=true&multiline=true") .choice() .when(header("serviceId").isEqualTo("service1")) - .serviceCall("service-1", "undertow:http://service-1") + .serviceCall("service-1") .when(header("serviceId").isEqualTo("service2")) - .serviceCall("service-2", "undertow:http://service-2"); + .serviceCall("service-2"); } } http://git-wip-us.apache.org/repos/asf/camel/blob/09434837/examples/camel-example-spring-cloud-servicecall/consumer/src/main/resources/application.properties ---------------------------------------------------------------------- diff --git a/examples/camel-example-spring-cloud-servicecall/consumer/src/main/resources/application.properties b/examples/camel-example-spring-cloud-servicecall/consumer/src/main/resources/application.properties index 970cbd7..a58fd6f 100644 --- a/examples/camel-example-spring-cloud-servicecall/consumer/src/main/resources/application.properties +++ b/examples/camel-example-spring-cloud-servicecall/consumer/src/main/resources/application.properties @@ -14,3 +14,6 @@ camel.springboot.jmx-enabled=false camel.rest.component=servlet camel.rest.binding-mode=auto + +# Configure the underlying Service Call component +camel.cloud.service-call.component = undertow \ No newline at end of file