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 2014/09/05 14:19:16 UTC

git commit: Added camel-metrics to rest example.

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 <da...@apache.org>
Authored: Fri Sep 5 14:18:57 2014 +0200
Committer: Claus Ibsen <da...@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>