Search in sources :

Example 1 with J4pExecResponse

use of org.jolokia.client.request.J4pExecResponse in project camel by apache.

the class DefaultJolokiaCamelController method getRouteModelAsXml.

@Override
public String getRouteModelAsXml(String routeId, String camelContextName) throws Exception {
    if (jolokia == null) {
        throw new IllegalStateException("Need to connect to remote jolokia first");
    }
    ObjectName found = lookupCamelContext(camelContextName);
    if (found != null) {
        String pattern = String.format("%s:context=%s,type=routes,name=\"%s\"", found.getDomain(), found.getKeyProperty("context"), routeId);
        ObjectName on = ObjectName.getInstance(pattern);
        J4pExecResponse response = jolokia.execute(new J4pExecRequest(on, "dumpRouteAsXml()"));
        if (response != null) {
            String xml = response.getValue();
            return xml;
        }
    }
    return null;
}
Also used : J4pExecRequest(org.jolokia.client.request.J4pExecRequest) J4pExecResponse(org.jolokia.client.request.J4pExecResponse) ObjectName(javax.management.ObjectName)

Example 2 with J4pExecResponse

use of org.jolokia.client.request.J4pExecResponse in project camel by apache.

the class DefaultJolokiaCamelController method getEndpointRuntimeStatistics.

@Override
public List<Map<String, String>> getEndpointRuntimeStatistics(String camelContextName) throws Exception {
    if (jolokia == null) {
        throw new IllegalStateException("Need to connect to remote jolokia first");
    }
    List<Map<String, String>> answer = new ArrayList<Map<String, String>>();
    ObjectName found = lookupCamelContext(camelContextName);
    if (found != null) {
        String pattern = String.format("%s:context=%s,type=services,name=DefaultRuntimeEndpointRegistry", found.getDomain(), found.getKeyProperty("context"));
        ObjectName on = ObjectName.getInstance(pattern);
        J4pExecResponse response = jolokia.execute(new J4pExecRequest(on, "endpointStatistics()"));
        if (response != null) {
            JSONObject data = response.getValue();
            for (Object obj : data.values()) {
                JSONObject data2 = (JSONObject) obj;
                JSONObject service = (JSONObject) data2.values().iterator().next();
                Map<String, String> row = new LinkedHashMap<String, String>();
                row.put("index", asString(service.get("index")));
                row.put("url", asString(service.get("url")));
                row.put("routeId", asString(service.get("routeId")));
                row.put("direction", asString(service.get("direction")));
                row.put("static", asString(service.get("static")));
                row.put("dynamic", asString(service.get("dynamic")));
                row.put("hits", asString(service.get("hits")));
                answer.add(row);
            }
        }
        // sort the list
        Collections.sort(answer, new Comparator<Map<String, String>>() {

            @Override
            public int compare(Map<String, String> endpoint1, Map<String, String> endpoint2) {
                // sort by route id
                String route1 = endpoint1.get("routeId");
                String route2 = endpoint2.get("routeId");
                int num = route1.compareTo(route2);
                if (num == 0) {
                    // we want in before out
                    String dir1 = endpoint1.get("direction");
                    String dir2 = endpoint2.get("direction");
                    num = dir1.compareTo(dir2);
                }
                return num;
            }
        });
    }
    return answer;
}
Also used : J4pExecRequest(org.jolokia.client.request.J4pExecRequest) ArrayList(java.util.ArrayList) ObjectName(javax.management.ObjectName) LinkedHashMap(java.util.LinkedHashMap) JSONObject(org.json.simple.JSONObject) JSONObject(org.json.simple.JSONObject) J4pExecResponse(org.jolokia.client.request.J4pExecResponse) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 3 with J4pExecResponse

use of org.jolokia.client.request.J4pExecResponse in project camel by apache.

the class DefaultJolokiaCamelController method getValidators.

@Override
public List<Map<String, String>> getValidators(String camelContextName) throws Exception {
    if (jolokia == null) {
        throw new IllegalStateException("Need to connect to remote jolokia first");
    }
    List<Map<String, String>> answer = new ArrayList<Map<String, String>>();
    ObjectName found = lookupCamelContext(camelContextName);
    if (found != null) {
        String pattern = String.format("%s:context=%s,type=services,name=DefaultValidatorRegistry", found.getDomain(), found.getKeyProperty("context"));
        ObjectName on = ObjectName.getInstance(pattern);
        J4pExecResponse response = jolokia.execute(new J4pExecRequest(on, "listValidators()"));
        if (response != null) {
            JSONObject data = response.getValue();
            if (data != null) {
                for (Object obj : data.values()) {
                    JSONObject data2 = (JSONObject) obj;
                    JSONObject service = (JSONObject) data2.values().iterator().next();
                    Map<String, String> row = new LinkedHashMap<String, String>();
                    row.put("type", asString(service.get("type")));
                    row.put("static", asString(service.get("static")));
                    row.put("dynamic", asString(service.get("dynamic")));
                    row.put("description", asString(service.get("description")));
                    answer.add(row);
                }
            }
        }
        // sort the list
        Collections.sort(answer, new Comparator<Map<String, String>>() {

            @Override
            public int compare(Map<String, String> service1, Map<String, String> service2) {
                String type1 = service1.get("type");
                String type2 = service2.get("type");
                return type1.compareTo(type2);
            }
        });
    }
    return answer;
}
Also used : J4pExecRequest(org.jolokia.client.request.J4pExecRequest) ArrayList(java.util.ArrayList) ObjectName(javax.management.ObjectName) LinkedHashMap(java.util.LinkedHashMap) JSONObject(org.json.simple.JSONObject) JSONObject(org.json.simple.JSONObject) J4pExecResponse(org.jolokia.client.request.J4pExecResponse) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 4 with J4pExecResponse

use of org.jolokia.client.request.J4pExecResponse in project camel by apache.

the class DefaultJolokiaCamelController method listComponents.

@Override
public List<Map<String, String>> listComponents(String camelContextName) throws Exception {
    if (jolokia == null) {
        throw new IllegalStateException("Need to connect to remote jolokia first");
    }
    List<Map<String, String>> answer = new ArrayList<Map<String, String>>();
    ObjectName found = lookupCamelContext(camelContextName);
    if (found != null) {
        J4pExecResponse response = jolokia.execute(new J4pExecRequest(found, "listComponents()"));
        if (response != null) {
            JSONObject data = response.getValue();
            for (Object obj : data.values()) {
                JSONObject component = (JSONObject) obj;
                Map<String, String> row = new LinkedHashMap<String, String>();
                row.put("artifactId", asString(component.get("artifactId")));
                row.put("title", asString(component.get("title")));
                row.put("description", asString(component.get("description")));
                row.put("groupId", asString(component.get("groupId")));
                row.put("label", asString(component.get("label")));
                row.put("name", asString(component.get("name")));
                row.put("status", asString(component.get("status")));
                row.put("type", asString(component.get("type")));
                row.put("version", asString(component.get("version")));
                answer.add(row);
            }
        }
        // sort the list
        Collections.sort(answer, new Comparator<Map<String, String>>() {

            @Override
            public int compare(Map<String, String> component1, Map<String, String> component2) {
                String name1 = component1.get("name");
                String name2 = component2.get("name");
                return name1.compareTo(name2);
            }
        });
    }
    return answer;
}
Also used : J4pExecRequest(org.jolokia.client.request.J4pExecRequest) ArrayList(java.util.ArrayList) ObjectName(javax.management.ObjectName) LinkedHashMap(java.util.LinkedHashMap) JSONObject(org.json.simple.JSONObject) JSONObject(org.json.simple.JSONObject) J4pExecResponse(org.jolokia.client.request.J4pExecResponse) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 5 with J4pExecResponse

use of org.jolokia.client.request.J4pExecResponse in project camel by apache.

the class DefaultJolokiaCamelController method getRestServices.

@Override
public List<Map<String, String>> getRestServices(String camelContextName) throws Exception {
    if (jolokia == null) {
        throw new IllegalStateException("Need to connect to remote jolokia first");
    }
    List<Map<String, String>> answer = new ArrayList<Map<String, String>>();
    ObjectName found = lookupCamelContext(camelContextName);
    if (found != null) {
        String pattern = String.format("%s:context=%s,type=services,name=DefaultRestRegistry", found.getDomain(), found.getKeyProperty("context"));
        ObjectName on = ObjectName.getInstance(pattern);
        J4pExecResponse response = jolokia.execute(new J4pExecRequest(on, "listRestServices()"));
        if (response != null) {
            JSONObject data = response.getValue();
            if (data != null) {
                for (Object obj : data.values()) {
                    JSONObject data2 = (JSONObject) obj;
                    JSONObject service = (JSONObject) data2.values().iterator().next();
                    Map<String, String> row = new LinkedHashMap<String, String>();
                    row.put("basePath", asString(service.get("basePath")));
                    row.put("baseUrl", asString(service.get("baseUrl")));
                    row.put("consumes", asString(service.get("consumes")));
                    row.put("description", asString(service.get("description")));
                    row.put("inType", asString(service.get("inType")));
                    row.put("method", asString(service.get("method")));
                    row.put("outType", asString(service.get("outType")));
                    row.put("produces", asString(service.get("produces")));
                    row.put("routeId", asString(service.get("routeId")));
                    row.put("state", asString(service.get("state")));
                    row.put("uriTemplate", asString(service.get("uriTemplate")));
                    row.put("url", asString(service.get("url")));
                    answer.add(row);
                }
            }
        }
        // sort the list
        Collections.sort(answer, new Comparator<Map<String, String>>() {

            @Override
            public int compare(Map<String, String> service1, Map<String, String> service2) {
                String url1 = service1.get("url");
                String url2 = service2.get("url");
                return url1.compareTo(url2);
            }
        });
    }
    return answer;
}
Also used : J4pExecRequest(org.jolokia.client.request.J4pExecRequest) ArrayList(java.util.ArrayList) ObjectName(javax.management.ObjectName) LinkedHashMap(java.util.LinkedHashMap) JSONObject(org.json.simple.JSONObject) JSONObject(org.json.simple.JSONObject) J4pExecResponse(org.jolokia.client.request.J4pExecResponse) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Aggregations

J4pExecRequest (org.jolokia.client.request.J4pExecRequest)10 J4pExecResponse (org.jolokia.client.request.J4pExecResponse)10 ObjectName (javax.management.ObjectName)9 ArrayList (java.util.ArrayList)6 HashMap (java.util.HashMap)6 LinkedHashMap (java.util.LinkedHashMap)6 Map (java.util.Map)6 JSONObject (org.json.simple.JSONObject)6 InetAddress (java.net.InetAddress)1 MalformedObjectNameException (javax.management.MalformedObjectNameException)1 J4pClient (org.jolokia.client.J4pClient)1 J4pClientBuilder (org.jolokia.client.J4pClientBuilder)1 J4pConnectException (org.jolokia.client.exception.J4pConnectException)1 J4pException (org.jolokia.client.exception.J4pException)1 J4pRemoteException (org.jolokia.client.exception.J4pRemoteException)1 J4pReadRequest (org.jolokia.client.request.J4pReadRequest)1 J4pReadResponse (org.jolokia.client.request.J4pReadResponse)1 TimeoutTracker (org.opennms.core.utils.TimeoutTracker)1 PollStatus (org.opennms.netmgt.poller.PollStatus)1