//1 thread for this pool
private final ScheduledExecutorService healthCheckScheduler = Executors.newScheduledThreadPool(1);
public void scheduleHealthCheck() {
//此处使用lambda
healthCheckScheduler.scheduleAtFixedRate(() -> {
HealthReport healthReport = createHealthReport();
latestHealth = new Health(healthReport);
if (healthReport.isAvailable()) {
String message = XXXXFormatter.toJson("health", 1);
log.info(message);
XXXClient.send(message);
}
}, 30, 900, TimeUnit.SECONDS);
log.info("Health check scheduler started with 15 minutes period");
}
Executors 之 ScheduledExecutorService 代码片断
最新推荐文章于 2021-04-03 21:43:46 发布