Repository: camel
Updated Branches:
  refs/heads/master 4ec817aa7 -> 22d596737


CAMEL-8223: Inflight repository to allow browsing of current inflight exchanges


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/22d59673
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/22d59673
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/22d59673

Branch: refs/heads/master
Commit: 22d5967376969396efeea411c6a6cf26a2eb7948
Parents: f812a45
Author: Claus Ibsen <davscl...@apache.org>
Authored: Fri Jan 9 13:00:48 2015 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Fri Jan 9 13:41:46 2015 +0100

----------------------------------------------------------------------
 .../jolokia/DefaultJolokiaCamelController.java  | 25 ++++++++++----------
 .../commands/jolokia/JolokiaRemoteTest.java     |  9 +++++++
 2 files changed, 22 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/22d59673/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
----------------------------------------------------------------------
diff --git 
a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
 
b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
index 0a44998..1ef0920 100644
--- 
a/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
+++ 
b/platforms/commands/commands-jolokia/src/main/java/org/apache/camel/commands/jolokia/DefaultJolokiaCamelController.java
@@ -235,22 +235,23 @@ public class DefaultJolokiaCamelController extends 
AbstractCamelController imple
 
         ObjectName found = lookupCamelContext(camelContextName);
         if (found != null) {
-            String pattern = 
String.format("%s:context=%s,type=services,name=\"%s\"", found.getDomain(), 
found.getKeyProperty("context"), "DefaultInflightRepository");
+            String pattern = 
String.format("%s:context=%s,type=services,name=DefaultInflightRepository", 
found.getDomain(), found.getKeyProperty("context"));
             ObjectName on = ObjectName.getInstance(pattern);
             J4pExecResponse er = jolokia.execute(new J4pExecRequest(on, 
"browse(int,boolean)", limit, sortByLongestDuration));
             if (er != null) {
                 JSONObject data = er.getValue();
-                for (Object obj : data.values()) {
-                    JSONObject data2 = (JSONObject) obj;
-                    JSONObject inflight = (JSONObject) 
data2.values().iterator().next();
-
-                    Map<String, Object> row = new LinkedHashMap<String, 
Object>();
-                    row.put("exchangeId", 
asString(inflight.get("exchangeId")));
-                    row.put("routeId", asString(inflight.get("routeIdId")));
-                    row.put("nodeId", asString(inflight.get("nodeId")));
-                    row.put("duration", asString(inflight.get("duration")));
-                    row.put("elapsed", asString(inflight.get("elapsed")));
-                    answer.add(row);
+                if (data != null) {
+                    for (Object obj : data.values()) {
+                        JSONObject inflight = (JSONObject) obj;
+
+                        Map<String, Object> row = new LinkedHashMap<String, 
Object>();
+                        row.put("exchangeId", 
asString(inflight.get("exchangeId")));
+                        row.put("routeId", asString(inflight.get("routeId")));
+                        row.put("nodeId", asString(inflight.get("nodeId")));
+                        row.put("duration", 
asString(inflight.get("duration")));
+                        row.put("elapsed", asString(inflight.get("elapsed")));
+                        answer.add(row);
+                    }
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/22d59673/platforms/commands/commands-jolokia/src/test/java/org/apache/camel/commands/jolokia/JolokiaRemoteTest.java
----------------------------------------------------------------------
diff --git 
a/platforms/commands/commands-jolokia/src/test/java/org/apache/camel/commands/jolokia/JolokiaRemoteTest.java
 
b/platforms/commands/commands-jolokia/src/test/java/org/apache/camel/commands/jolokia/JolokiaRemoteTest.java
index 95e1c7f..758b823 100644
--- 
a/platforms/commands/commands-jolokia/src/test/java/org/apache/camel/commands/jolokia/JolokiaRemoteTest.java
+++ 
b/platforms/commands/commands-jolokia/src/test/java/org/apache/camel/commands/jolokia/JolokiaRemoteTest.java
@@ -204,4 +204,13 @@ public class JolokiaRemoteTest {
         System.out.println(data);
     }
 
+    @Test
+    public void testInflight() throws Exception {
+        controller = new DefaultJolokiaCamelController();
+        controller.connect(url, null, null);
+
+        List<Map<String, Object>> data = 
controller.browseInflightExchanges("myCamel", 500, false);
+        System.out.println(data);
+    }
+
 }

Reply via email to