关于停止任务
来源:4-3 实现零重启自由编排任务的定时管理器

无解的游戏
2023-08-24
这里好像map
的key
停止了,并没有将它清理掉,后面无限塞入,会有啥问题吗?
public void stopTask(String key) {
// 参数校验
if (StringUtils.isBlank(key)) {
return;
}
ScheduleTaskHolder holder = cache.get(key);
if (Objects.isNull(holder)) {
return;
}
ScheduledFuture scheduledFuture = holder.getScheduledFuture();
boolean cancel = scheduledFuture.cancel(true);
if (cancel) {
log.info("{} 停止成功!唯一标识为: {}", holder.getScheduleTask().getName(), key);
} else {
log.warn("{} 停止失败!唯一标识: {}", holder.getScheduleTask().getName(), key);
}
}
这里好像只是把对应
key
的任务停止了,map
里的还存在着
原map
内容
[
{"key": "xxxxxx1": "value": "xxxxxxx"}
]
下一次改变任务,重新启动,key
就会变的不一样,再存储一个新的key
进去
停止新启动一个之后map
内容
[
{"key": "xxxxxx1": "value": "xxxxxxx"},
{"key": "xxxxxx2": "value": "xxxxxxx"}
]
会存在这样的后续新增的key
都是UUIDUtil
生成的不会覆盖上一次的,而是每次都是新增一个塞进去
写回答
2回答
-
RubinChu
2023-08-27
明白了 同学了已在成功取消之后 把缓存清掉哈 加一个清理的动作优化一下
00 -
RubinChu
2023-08-25
会覆盖的哈,要是好不是很明白,把问题的代码块截全一些哈
022024-08-08
相似问题