package org.infinispan.server.infinispan.actions;
import org.infinispan.AdvancedCache;
import org.infinispan.jmx.JmxStatisticsExposer;
/**
* ResetComponentJmxStatisticsAction.
* This class can be used to reset the statistics for a given interceptor that implements
* {@link org.infinispan.interceptors.base.JmxStatsCommandInterceptor} and it is a component in the cache's registry.
*
* @author wburns
* @since 7.0
*/
public class ResetComponentJmxStatisticsAction<T extends JmxStatisticsExposer> extends AbstractAdvancedCacheAction<Void> {
private final Class<T> interceptorClass;
public ResetComponentJmxStatisticsAction(AdvancedCache<?, ?> cache, Class<T> interceptorClass) {
super(cache);
this.interceptorClass = interceptorClass;
}
@Override
public Void run() {
T interceptor = cache.getComponentRegistry().getComponent(interceptorClass);
if (interceptor != null) {
interceptor.resetStatistics();
}
return null;
}
}