package org.opendaylight.protocol.bgp.state;
import static java.util.Objects.requireNonNull;
+import static java.util.concurrent.TimeUnit.SECONDS;
-import io.netty.util.concurrent.GlobalEventExecutor;
-import io.netty.util.concurrent.ScheduledFuture;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TimerTask;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
import java.util.stream.Collectors;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.GuardedBy;
private BindingTransactionChain transactionChain;
@GuardedBy("this")
private ScheduledFuture<?> scheduleTask;
+ private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public StateProviderImpl(@Nonnull final DataBroker dataBroker, final int timeout,
@Nonnull final BGPTableTypeRegistryConsumer bgpTableTypeRegistry,
}
};
- this.scheduleTask = GlobalEventExecutor.INSTANCE.scheduleAtFixedRate(task, 0, this.timeout,
- TimeUnit.SECONDS);
+ this.scheduleTask = this.scheduler.scheduleAtFixedRate(task, 0, this.timeout, SECONDS);
}
private synchronized void updateBGPStats(final WriteTransaction wtx) {
wTx.submit().get();
}
this.transactionChain.close();
+ this.scheduler.shutdown();
}
@Override
package org.opendaylight.bgpcep.pcep.topology.stats.provider;
import static java.util.Objects.requireNonNull;
+import static java.util.concurrent.TimeUnit.SECONDS;
-import io.netty.util.concurrent.GlobalEventExecutor;
-import io.netty.util.concurrent.ScheduledFuture;
import java.util.HashMap;
import java.util.Map;
import java.util.TimerTask;
import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.GuardedBy;
import org.opendaylight.bgpcep.pcep.topology.spi.stats.TopologySessionStatsRegistry;
private final int timeout;
private BindingTransactionChain transactionChain;
private ScheduledFuture<?> scheduleTask;
+ private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public TopologyStatsProviderImpl(@Nonnull final DataBroker dataBroker, final int timeout) {
this.dataBroker = requireNonNull(dataBroker);
}
};
- this.scheduleTask = GlobalEventExecutor.INSTANCE.scheduleAtFixedRate(task, 0, this.timeout,
- TimeUnit.SECONDS);
+ this.scheduleTask = this.scheduler.scheduleAtFixedRate(task, 0, this.timeout, SECONDS);
}
private synchronized void updatePcepStats() {
wTx.submit().get();
this.statsMap.clear();
this.transactionChain.close();
+ this.scheduler.shutdown();
}
@Override