+ final CommitStatsMXBeanImpl commitStatsMXBean = new CommitStatsMXBeanImpl(
+ newDataBroker.getCommitStatsTracker(), JMX_BEAN_TYPE);
+ commitStatsMXBean.registerMBean();
+
+ final ThreadExecutorStatsMXBeanImpl commitExecutorStatsMXBean =
+ new ThreadExecutorStatsMXBeanImpl(commitExecutor, "CommitExecutorStats",
+ JMX_BEAN_TYPE, null);
+ commitExecutorStatsMXBean.registerMBean();
+
+ final ThreadExecutorStatsMXBeanImpl commitFutureStatsMXBean =
+ new ThreadExecutorStatsMXBeanImpl(listenableFutureExecutor,
+ "CommitFutureExecutorStats", JMX_BEAN_TYPE, null);
+ commitFutureStatsMXBean.registerMBean();
+
+ newDataBroker.setCloseable(new AutoCloseable() {
+ @Override
+ public void close() {
+ commitStatsMXBean.unregisterMBean();
+ commitExecutorStatsMXBean.unregisterMBean();
+ commitFutureStatsMXBean.unregisterMBean();
+ }
+ });
+