Github user zd-project commented on a diff in the pull request: https://github.com/apache/storm/pull/2789#discussion_r208008824 --- Diff: storm-server/src/main/java/org/apache/storm/daemon/metrics/reporters/PreparableReporter.java --- @@ -13,16 +13,35 @@ package org.apache.storm.daemon.metrics.reporters; import com.codahale.metrics.MetricRegistry; -import com.codahale.metrics.Reporter; -import java.io.Closeable; import java.util.Map; +import java.util.concurrent.TimeUnit; +import com.codahale.metrics.ScheduledReporter; +import org.slf4j.Logger; -public interface PreparableReporter<T extends Reporter & Closeable> { +public interface PreparableReporter { void prepare(MetricRegistry metricsRegistry, Map<String, Object> topoConf); void start(); void stop(); + static <T, U extends ScheduledReporter> void startScheduledReporter(Class<T> enclosingClazz, U reporter, final Logger log) { --- End diff -- Okay. I guess I'll just revert to the original implementation then, the alternative seems to complicate code even more.
---