Search in sources :

Example 41 with CompositeType

use of javax.management.openmbean.CompositeType in project camel by apache.

the class ManagedAsyncProcessorAwaitManager method browse.

@Override
public TabularData browse() {
    try {
        TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listAwaitThreadsTabularType());
        Collection<AsyncProcessorAwaitManager.AwaitThread> threads = manager.browse();
        for (AsyncProcessorAwaitManager.AwaitThread entry : threads) {
            CompositeType ct = CamelOpenMBeanTypes.listAwaitThreadsCompositeType();
            String id = "" + entry.getBlockedThread().getId();
            String name = entry.getBlockedThread().getName();
            String exchangeId = entry.getExchange().getExchangeId();
            String routeId = entry.getRouteId();
            String nodeId = entry.getNodeId();
            String duration = "" + entry.getWaitDuration();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "id", "name", "exchangeId", "routeId", "nodeId", "duration" }, new Object[] { id, name, exchangeId, routeId, nodeId, duration });
            answer.put(data);
        }
        return answer;
    } catch (Exception e) {
        throw ObjectHelper.wrapRuntimeCamelException(e);
    }
}
Also used : TabularDataSupport(javax.management.openmbean.TabularDataSupport) CompositeData(javax.management.openmbean.CompositeData) CompositeDataSupport(javax.management.openmbean.CompositeDataSupport) AsyncProcessorAwaitManager(org.apache.camel.spi.AsyncProcessorAwaitManager) TabularData(javax.management.openmbean.TabularData) CompositeType(javax.management.openmbean.CompositeType)

Example 42 with CompositeType

use of javax.management.openmbean.CompositeType in project camel by apache.

the class ManagedCamelContext method listEips.

public TabularData listEips() throws Exception {
    try {
        // find all EIPs
        Map<String, Properties> eips = context.findEips();
        TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listEipsTabularType());
        // gather EIP detail for each eip
        for (Map.Entry<String, Properties> entry : eips.entrySet()) {
            String name = entry.getKey();
            String title = (String) entry.getValue().get("title");
            String description = (String) entry.getValue().get("description");
            String label = (String) entry.getValue().get("label");
            String type = (String) entry.getValue().get("class");
            String status = CamelContextHelper.isEipInUse(context, name) ? "in use" : "on classpath";
            CompositeType ct = CamelOpenMBeanTypes.listEipsCompositeType();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "name", "title", "description", "label", "status", "type" }, new Object[] { name, title, description, label, status, type });
            answer.put(data);
        }
        return answer;
    } catch (Exception e) {
        throw ObjectHelper.wrapRuntimeCamelException(e);
    }
}
Also used : TabularDataSupport(javax.management.openmbean.TabularDataSupport) CompositeData(javax.management.openmbean.CompositeData) CompositeDataSupport(javax.management.openmbean.CompositeDataSupport) Properties(java.util.Properties) Map(java.util.Map) IOException(java.io.IOException) TabularData(javax.management.openmbean.TabularData) CompositeType(javax.management.openmbean.CompositeType)

Example 43 with CompositeType

use of javax.management.openmbean.CompositeType in project camel by apache.

the class ManagedCamelContext method listComponents.

@Override
public TabularData listComponents() throws Exception {
    try {
        // find all components
        Map<String, Properties> components = context.findComponents();
        TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listComponentsTabularType());
        // gather component detail for each component
        for (Map.Entry<String, Properties> entry : components.entrySet()) {
            String name = entry.getKey();
            String title = null;
            String syntax = null;
            String description = null;
            String label = null;
            String deprecated = null;
            String secret = null;
            String status = context.hasComponent(name) != null ? "in use" : "on classpath";
            String type = (String) entry.getValue().get("class");
            String groupId = null;
            String artifactId = null;
            String version = null;
            // a component may have been given a different name, so resolve its default name by its java type
            // as we can find the component json information from the default component name
            String defaultName = context.resolveComponentDefaultName(type);
            String target = defaultName != null ? defaultName : name;
            // load component json data, and parse it to gather the component meta-data
            String json = context.getComponentParameterJsonSchema(target);
            List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("component", json, false);
            for (Map<String, String> row : rows) {
                if (row.containsKey("title")) {
                    title = row.get("title");
                } else if (row.containsKey("syntax")) {
                    syntax = row.get("syntax");
                } else if (row.containsKey("description")) {
                    description = row.get("description");
                } else if (row.containsKey("label")) {
                    label = row.get("label");
                } else if (row.containsKey("deprecated")) {
                    deprecated = row.get("deprecated");
                } else if (row.containsKey("secret")) {
                    secret = row.get("secret");
                } else if (row.containsKey("javaType")) {
                    type = row.get("javaType");
                } else if (row.containsKey("groupId")) {
                    groupId = row.get("groupId");
                } else if (row.containsKey("artifactId")) {
                    artifactId = row.get("artifactId");
                } else if (row.containsKey("version")) {
                    version = row.get("version");
                }
            }
            CompositeType ct = CamelOpenMBeanTypes.listComponentsCompositeType();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "name", "title", "syntax", "description", "label", "deprecated", "secret", "status", "type", "groupId", "artifactId", "version" }, new Object[] { name, title, syntax, description, label, deprecated, secret, status, type, groupId, artifactId, version });
            answer.put(data);
        }
        return answer;
    } catch (Exception e) {
        throw ObjectHelper.wrapRuntimeCamelException(e);
    }
}
Also used : CompositeData(javax.management.openmbean.CompositeData) CompositeDataSupport(javax.management.openmbean.CompositeDataSupport) Properties(java.util.Properties) IOException(java.io.IOException) TabularData(javax.management.openmbean.TabularData) TabularDataSupport(javax.management.openmbean.TabularDataSupport) Map(java.util.Map) CompositeType(javax.management.openmbean.CompositeType)

Example 44 with CompositeType

use of javax.management.openmbean.CompositeType in project camel by apache.

the class ManagedChoice method choiceStatistics.

@Override
public TabularData choiceStatistics() {
    try {
        TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.choiceTabularType());
        List<WhenDefinition> whens = getDefinition().getWhenClauses();
        List<FilterProcessor> filters = processor.getFilters();
        for (int i = 0; i < filters.size(); i++) {
            WhenDefinition when = whens.get(i);
            FilterProcessor filter = filters.get(i);
            CompositeType ct = CamelOpenMBeanTypes.choiceCompositeType();
            String predicate = when.getExpression().getExpression();
            String language = when.getExpression().getLanguage();
            Long matches = filter.getFilteredCount();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "predicate", "language", "matches" }, new Object[] { predicate, language, matches });
            answer.put(data);
        }
        if (getDefinition().getOtherwise() != null) {
            CompositeType ct = CamelOpenMBeanTypes.choiceCompositeType();
            String predicate = "otherwise";
            String language = "";
            Long matches = processor.getNotFilteredCount();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "predicate", "language", "matches" }, new Object[] { predicate, language, matches });
            answer.put(data);
        }
        return answer;
    } catch (Exception e) {
        throw ObjectHelper.wrapRuntimeCamelException(e);
    }
}
Also used : FilterProcessor(org.apache.camel.processor.FilterProcessor) CompositeData(javax.management.openmbean.CompositeData) CompositeDataSupport(javax.management.openmbean.CompositeDataSupport) TabularData(javax.management.openmbean.TabularData) TabularDataSupport(javax.management.openmbean.TabularDataSupport) WhenDefinition(org.apache.camel.model.WhenDefinition) CompositeType(javax.management.openmbean.CompositeType)

Example 45 with CompositeType

use of javax.management.openmbean.CompositeType in project camel by apache.

the class ManagedComponent method explain.

public TabularData explain(boolean allOptions) {
    try {
        // a component may have been given a different name, so resolve its default name by its java type
        // as we can find the component json information from the default component name
        String defaultName = component.getCamelContext().resolveComponentDefaultName(component.getClass().getName());
        String target = defaultName != null ? defaultName : name;
        String json = component.getCamelContext().explainComponentJson(target, allOptions);
        List<Map<String, String>> rows = JsonSchemaHelper.parseJsonSchema("componentProperties", json, true);
        TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.explainComponentTabularType());
        for (Map<String, String> row : rows) {
            String name = row.get("name");
            String kind = row.get("kind");
            String group = row.get("group") != null ? row.get("group") : "";
            String label = row.get("label") != null ? row.get("label") : "";
            String type = row.get("type");
            String javaType = row.get("javaType");
            String deprecated = row.get("deprecated") != null ? row.get("deprecated") : "";
            String secret = row.get("secret") != null ? row.get("secret") : "";
            String value = row.get("value") != null ? row.get("value") : "";
            String defaultValue = row.get("defaultValue") != null ? row.get("defaultValue") : "";
            String description = row.get("description") != null ? row.get("description") : "";
            CompositeType ct = CamelOpenMBeanTypes.explainComponentCompositeType();
            CompositeData data = new CompositeDataSupport(ct, new String[] { "option", "kind", "group", "label", "type", "java type", "deprecated", "secret", "value", "default value", "description" }, new Object[] { name, kind, group, label, type, javaType, deprecated, secret, value, defaultValue, description });
            answer.put(data);
        }
        return answer;
    } catch (Exception e) {
        throw ObjectHelper.wrapRuntimeCamelException(e);
    }
}
Also used : TabularDataSupport(javax.management.openmbean.TabularDataSupport) CompositeData(javax.management.openmbean.CompositeData) CompositeDataSupport(javax.management.openmbean.CompositeDataSupport) Map(java.util.Map) IOException(java.io.IOException) TabularData(javax.management.openmbean.TabularData) CompositeType(javax.management.openmbean.CompositeType)

Aggregations

CompositeType (javax.management.openmbean.CompositeType)82 CompositeDataSupport (javax.management.openmbean.CompositeDataSupport)55 CompositeData (javax.management.openmbean.CompositeData)50 TabularDataSupport (javax.management.openmbean.TabularDataSupport)50 TabularData (javax.management.openmbean.TabularData)47 TabularType (javax.management.openmbean.TabularType)27 OpenType (javax.management.openmbean.OpenType)23 OpenDataException (javax.management.openmbean.OpenDataException)22 Map (java.util.Map)20 ObjectName (javax.management.ObjectName)7 EndpointUtilizationStatistics (org.apache.camel.spi.EndpointUtilizationStatistics)7 MBeanServer (javax.management.MBeanServer)6 ArrayType (javax.management.openmbean.ArrayType)6 ConcurrentMap (java.util.concurrent.ConcurrentMap)5 MBeanException (javax.management.MBeanException)5 NotCompliantMBeanException (javax.management.NotCompliantMBeanException)5 DruidDataSource (com.alibaba.druid.pool.DruidDataSource)3 DataSourceProxyImpl (com.alibaba.druid.proxy.jdbc.DataSourceProxyImpl)3 IOException (java.io.IOException)3 ArrayList (java.util.ArrayList)3