原创

Java-开关日志只展示一次-执行任务期间不走定时任务示例

private static boolean hasShowOpen = false;
private static boolean hasShowClose = false;

@Around("taskControlPointCut()")
public Object doAround(ProceedingJoinPoint point) throws Throwable {

if (bizzConfig.getEnableScheduling()) {
if (!hasShowOpen) {
hasShowOpen = true;
log.warn("定时任务已开启,(nacos中enable.scheduling={}配置,实时生效)", bizzConfig.getEnableScheduling());
hasShowClose = false;
}
if (!isMigrateTraining) {
// 执行当前任务
return point.proceed();
}
}
if (isMigrateTraining) {
log.warn("迁移进行中,不走定时任务");
}
if (!hasShowClose) {
hasShowClose = true;
log.warn("定时任务已关闭,(nacos中enable.scheduling={}配置,实时生效)", bizzConfig.getEnableScheduling());
hasShowOpen = false;
}
//这个打开关闭的日志应该通过@NacosConfigListener来展示,不然这里一定要等定时任务走到了才执行打印。
return null;
}

正文到此结束
本文目录