use of javax.management.openmbean.TabularData in project camel by apache.
the class ManagedValidatorRegistry method listValidators.
@SuppressWarnings("unchecked")
public TabularData listValidators() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.listValidatorsTabularType());
Collection<Validator> validators = validatorRegistry.values();
for (Validator validator : validators) {
CompositeType ct = CamelOpenMBeanTypes.listValidatorsCompositeType();
DataType type = validator.getType();
String desc = validator.toString();
boolean isStatic = validatorRegistry.isStatic(type);
boolean isDynamic = validatorRegistry.isDynamic(type);
CompositeData data = new CompositeDataSupport(ct, new String[] { "type", "static", "dynamic", "description" }, new Object[] { type.toString(), isStatic, isDynamic, desc });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.TabularData in project camel by apache.
the class ManagedCircuitBreakerLoadBalancer method exceptionStatistics.
@Override
public TabularData exceptionStatistics() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.loadbalancerExceptionsTabularType());
ExceptionFailureStatistics statistics = processor.getExceptionFailureStatistics();
Iterator<Class<?>> it = statistics.getExceptions();
boolean empty = true;
while (it.hasNext()) {
empty = false;
Class<?> exception = it.next();
String name = ObjectHelper.name(exception);
long counter = statistics.getFailureCounter(exception);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
if (empty) {
// use Exception as a single general
String name = ObjectHelper.name(Exception.class);
long counter = statistics.getFailureCounter(Exception.class);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.TabularData in project camel by apache.
the class ManagedDynamicRouter method extendedInformation.
@Override
public TabularData extendedInformation() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());
EndpointUtilizationStatistics stats = processor.getEndpointUtilizationStatistics();
if (stats != null) {
for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
String url = entry.getKey();
if (sanitize) {
url = URISupport.sanitizeUri(url);
}
Long hits = entry.getValue();
if (hits == null) {
hits = 0L;
}
CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
answer.put(data);
}
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.TabularData in project camel by apache.
the class ManagedEnricher method extendedInformation.
@Override
public TabularData extendedInformation() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.endpointsUtilizationTabularType());
EndpointUtilizationStatistics stats = processor.getEndpointUtilizationStatistics();
if (stats != null) {
for (Map.Entry<String, Long> entry : stats.getStatistics().entrySet()) {
CompositeType ct = CamelOpenMBeanTypes.endpointsUtilizationCompositeType();
String url = entry.getKey();
if (sanitize) {
url = URISupport.sanitizeUri(url);
}
Long hits = entry.getValue();
if (hits == null) {
hits = 0L;
}
CompositeData data = new CompositeDataSupport(ct, new String[] { "url", "hits" }, new Object[] { url, hits });
answer.put(data);
}
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
use of javax.management.openmbean.TabularData in project camel by apache.
the class ManagedFailoverLoadBalancer method exceptionStatistics.
@Override
public TabularData exceptionStatistics() {
try {
TabularData answer = new TabularDataSupport(CamelOpenMBeanTypes.loadbalancerExceptionsTabularType());
ExceptionFailureStatistics statistics = processor.getExceptionFailureStatistics();
Iterator<Class<?>> it = statistics.getExceptions();
boolean empty = true;
while (it.hasNext()) {
empty = false;
Class<?> exception = it.next();
String name = ObjectHelper.name(exception);
long counter = statistics.getFailureCounter(exception);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
if (empty) {
// use Exception as a single general
String name = ObjectHelper.name(Exception.class);
long counter = statistics.getFailureCounter(Exception.class);
CompositeType ct = CamelOpenMBeanTypes.loadbalancerExceptionsCompositeType();
CompositeData data = new CompositeDataSupport(ct, new String[] { "exception", "failures" }, new Object[] { name, counter });
answer.put(data);
}
return answer;
} catch (Exception e) {
throw ObjectHelper.wrapRuntimeCamelException(e);
}
}
Aggregations