作用
延时任务用于指定多久之后去执行某个方法,比如考试开考后延时1小时强制收卷。fhs实现的延时任务是进程级的(重启之后未执行的任务对丢失),后期提供分布式延时任务服务。
demo
首先写一个方法返回void 接收 Map
/**
* 删除优惠券的key
* @param paramMap 参数map
*/
public void removeCouponKey(Map<String,Object> paramMap)
{
redisCacheService.remove("park:coupon:" + paramMap.get("parkId")+ ":" + paramMap.get("plateNumber"));
redisCacheService.remove("park:coupon:" + paramMap.get("parkId")+ ":" + paramMap.get("frontUserId"));
}
然后引入delayedTaskManager:
/**
* 延时队列
*/
@Autowired
private DelayedTaskManager delayedTaskManager;
然后添加任务到延时任务管理器中 (第二个参数为毫秒):
//半个小时候删除此优惠券的key
delayedTaskManager.addTask(this::removeCouponKey,1000*60*30,paramMap);
当前内容版权归 fhs-opensource 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 fhs-opensource .