请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于停止任务

这里好像mapkey停止了,并没有将它清理掉,后面无限塞入,会有啥问题吗?

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 生成的不会覆盖上一次的,而是每次都是新增一个塞进去

正在回答 回答被采纳积分+3

2回答

RubinChu 2023-08-27 14:19:49

明白了 同学了已在成功取消之后 把缓存清掉哈   加一个清理的动作优化一下

0 回复 有任何疑惑可以回复我~
RubinChu 2023-08-25 09:54:18

会覆盖的哈,要是好不是很明白,把问题的代码块截全一些哈

0 回复 有任何疑惑可以回复我~
  • 提问者 无解的游戏 #1
    更新了,麻烦老师解答一下
    回复 有任何疑惑可以回复我~ 2023-08-26 15:18:51
  • 回复 无解的游戏:这里说的cache 这个变量里面还存在上一次的key和value吗?
    回复 有任何疑惑可以回复我~ 2024-08-08 16:49:28
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号