Repository: camel Updated Branches: refs/heads/master ae7eafc67 -> 96a2dcc00
Added camel-metrics to rest example. Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/96a2dcc0 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/96a2dcc0 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/96a2dcc0 Branch: refs/heads/master Commit: 96a2dcc006a9d4b099deb86951d0b56726342226 Parents: ae7eafc Author: Claus Ibsen <davscl...@apache.org> Authored: Fri Sep 5 14:18:57 2014 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Fri Sep 5 14:18:57 2014 +0200 ---------------------------------------------------------------------- examples/camel-example-servlet-rest-tomcat/pom.xml | 4 ++++ .../org/apache/camel/example/rest/UserService.java | 13 +++++++++++++ .../src/main/resources/camel-config-xml.xml | 3 +++ .../src/main/resources/camel-config.xml | 5 ++--- .../src/main/webapp/index.html | 2 ++ 5 files changed, 24 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/96a2dcc0/examples/camel-example-servlet-rest-tomcat/pom.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-servlet-rest-tomcat/pom.xml b/examples/camel-example-servlet-rest-tomcat/pom.xml index 3f68013..0438109 100755 --- a/examples/camel-example-servlet-rest-tomcat/pom.xml +++ b/examples/camel-example-servlet-rest-tomcat/pom.xml @@ -46,6 +46,10 @@ <groupId>org.apache.camel</groupId> <artifactId>camel-servlet</artifactId> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-metrics</artifactId> + </dependency> <!-- swagger api --> <dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/96a2dcc0/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserService.java ---------------------------------------------------------------------- diff --git a/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserService.java b/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserService.java index 26abd73..a94942e 100644 --- a/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserService.java +++ b/examples/camel-example-servlet-rest-tomcat/src/main/java/org/apache/camel/example/rest/UserService.java @@ -18,6 +18,7 @@ package org.apache.camel.example.rest; import java.util.Collection; import java.util.Map; +import java.util.Random; import java.util.TreeMap; /** @@ -28,9 +29,12 @@ public class UserService { // use a tree map so they become sorted private final Map<String, User> users = new TreeMap<String, User>(); + private Random ran = new Random(); + public UserService() { users.put("123", new User(123, "John Doe")); users.put("456", new User(456, "Donald Duck")); + users.put("789", new User(789, "Slow Turtle")); } /** @@ -40,6 +44,15 @@ public class UserService { * @return the user, or <tt>null</tt> if no user exists */ public User getUser(String id) { + if ("789".equals(id)) { + // simulate some cpu processing time when returning the slow turtle + int delay = 500 + ran.nextInt(1500); + try { + Thread.sleep(delay); + } catch (Exception e) { + // ignore + } + } return users.get(id); } http://git-wip-us.apache.org/repos/asf/camel/blob/96a2dcc0/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config-xml.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config-xml.xml b/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config-xml.xml index 5dc4bd3..4977bef 100755 --- a/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config-xml.xml +++ b/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config-xml.xml @@ -23,6 +23,9 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> + <!-- use camel-metrics route policy to gather metrics for all routes --> + <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/> + <!-- a bean for user services --> <bean id="userService" class="org.apache.camel.example.rest.UserService"/> http://git-wip-us.apache.org/repos/asf/camel/blob/96a2dcc0/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config.xml ---------------------------------------------------------------------- diff --git a/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config.xml b/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config.xml index e9674d8..6c58d71 100755 --- a/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config.xml +++ b/examples/camel-example-servlet-rest-tomcat/src/main/resources/camel-config.xml @@ -23,9 +23,8 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> - <!--<bean id="generator" class="org.apache.camel.example.rest.DeleteMe" init-method="generate">--> - <!--<property name="camelContext" ref="myCamel"/>--> - <!--</bean>--> + <!-- use camel-metrics route policy to gather metrics for all routes --> + <bean id="metricsRoutePolicyFactory" class="org.apache.camel.component.metrics.routepolicy.MetricsRoutePolicyFactory"/> <!-- a rest service which uses binding to/from pojos --> <bean id="userRoutes" class="org.apache.camel.example.rest.UserRouteBuilder"/> http://git-wip-us.apache.org/repos/asf/camel/blob/96a2dcc0/examples/camel-example-servlet-rest-tomcat/src/main/webapp/index.html ---------------------------------------------------------------------- diff --git a/examples/camel-example-servlet-rest-tomcat/src/main/webapp/index.html b/examples/camel-example-servlet-rest-tomcat/src/main/webapp/index.html index 1ea929a..0597a0f 100644 --- a/examples/camel-example-servlet-rest-tomcat/src/main/webapp/index.html +++ b/examples/camel-example-servlet-rest-tomcat/src/main/webapp/index.html @@ -54,6 +54,8 @@ From the command shell you can use curl to access the service as shown below: curl -X PUT -d "{ \"id\": 666, \"name\": \"The devil\"}" -H "Accept: application/json" http://localhost:8080/camel-example-servlet-rest-tomcat/rest/user </pre> +Notice when trying to get user with id 789 then there is a built-in delay of 0.5-2 seconds, to simulate some slowness in the service. + <p/> This example offers an API browser using Swagger which is accessible from the following link <ul>