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-examples.git
The following commit(s) were added to refs/heads/main by this push: new cfab688 Introduce profiles in routetemplate example (#62) cfab688 is described below commit cfab688014d16690b1d2aa25dbfc5ce884266564 Author: Marco Carletti <79271996+mcarl...@users.noreply.github.com> AuthorDate: Wed May 25 13:28:21 2022 +0200 Introduce profiles in routetemplate example (#62) * Introduce profiles in routetemplate example * Revert the title --- routetemplate/README.adoc | 6 +++++- .../src/main/java/sample/camel/MyRouteTemplates.java | 5 ++++- .../src/main/java/sample/camel/MyTemplateBuilder.java | 5 ++++- .../{application.yaml => application-xml.yaml} | 2 -- routetemplate/src/main/resources/application.yaml | 17 ++++------------- 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/routetemplate/README.adoc b/routetemplate/README.adoc index a0ca5fe..fd966b2 100644 --- a/routetemplate/README.adoc +++ b/routetemplate/README.adoc @@ -14,7 +14,7 @@ An alternative to create routes is from Java which is done in the `MyTemplateBui See the `MyCamelApplication.java` where you can change the source to use java instead of property file for the template parameters. -In case you would like to see how to create rules from a route template in Java, simply uncomment the annotation `@Component` in the classes `MyTemplateBuilder` and `MyRouteTemplates` to allow Spring Boot to automatically discover them. +In case you would like to see how to create rules from a route template in Java, you can use the `java` Spring profile so that the classes `MyTemplateBuilder` and `MyRouteTemplates` will be automatically discovered. === Build @@ -29,7 +29,11 @@ $ mvn compile You can run this example using ---- +#to use xml template $ mvn spring-boot:run + +#to use java template +$ mvn spring-boot:run -Dspring-boot.run.profiles=java ---- === Help and contributions diff --git a/routetemplate/src/main/java/sample/camel/MyRouteTemplates.java b/routetemplate/src/main/java/sample/camel/MyRouteTemplates.java index dff6fa3..d97f55e 100644 --- a/routetemplate/src/main/java/sample/camel/MyRouteTemplates.java +++ b/routetemplate/src/main/java/sample/camel/MyRouteTemplates.java @@ -18,12 +18,15 @@ package sample.camel; import org.apache.camel.builder.RouteBuilder; +import org.springframework.context.annotation.Profile; + /** * Route templates using {@link RouteBuilder} which allows * us to define a number of templates (parameterized routes) * which we can create routes from. */ -//@org.springframework.stereotype.Component +@org.springframework.stereotype.Component +@Profile("java") public class MyRouteTemplates extends RouteBuilder { @Override diff --git a/routetemplate/src/main/java/sample/camel/MyTemplateBuilder.java b/routetemplate/src/main/java/sample/camel/MyTemplateBuilder.java index cf6e5d7..5228be7 100644 --- a/routetemplate/src/main/java/sample/camel/MyTemplateBuilder.java +++ b/routetemplate/src/main/java/sample/camel/MyTemplateBuilder.java @@ -18,7 +18,10 @@ package sample.camel; import org.apache.camel.builder.RouteBuilder; -//@org.springframework.stereotype.Component +import org.springframework.context.annotation.Profile; + +@org.springframework.stereotype.Component +@Profile("java") public class MyTemplateBuilder extends RouteBuilder { /** diff --git a/routetemplate/src/main/resources/application.yaml b/routetemplate/src/main/resources/application-xml.yaml similarity index 98% copy from routetemplate/src/main/resources/application.yaml copy to routetemplate/src/main/resources/application-xml.yaml index 690d146..ab0e040 100644 --- a/routetemplate/src/main/resources/application.yaml +++ b/routetemplate/src/main/resources/application-xml.yaml @@ -17,9 +17,7 @@ camel: springboot: - name: MyCamel routes-include-pattern: classpath:mycamel/*.xml - route-template: config: -0.template-id: myXmlTemplate diff --git a/routetemplate/src/main/resources/application.yaml b/routetemplate/src/main/resources/application.yaml index 690d146..e9fc3f4 100644 --- a/routetemplate/src/main/resources/application.yaml +++ b/routetemplate/src/main/resources/application.yaml @@ -15,19 +15,10 @@ # limitations under the License. # +spring: + profiles: + active: xml + camel: springboot: name: MyCamel - routes-include-pattern: classpath:mycamel/*.xml - - route-template: - config: - -0.template-id: myXmlTemplate - -0.route-id: first - -0.name: one - -0.greeting: Hello - -1.template-id: myXmlTemplate - -1.route-id: second - -1.name: deux - -1.greeting: Bonjour - -1.my-period: 5s