package cn.lili.trigger.util;
|
|
import cn.lili.trigger.enums.DelayTypeEnums;
|
|
/**
|
* 延时任务工具类
|
*
|
* @author paulG
|
* @since 2021/5/7
|
**/
|
public class DelayQueueTools {
|
|
/**
|
* 前缀
|
*/
|
private static final String PREFIX = "{rocketmq_trigger}_";
|
|
/**
|
* 组装延时任务唯一键
|
*
|
* @param type 延时任务类型
|
* @param id id
|
* @return 唯一键
|
*/
|
public static String wrapperUniqueKey(DelayTypeEnums type, String id) {
|
return "{TIME_TRIGGER_" + type.name() + "}_" + id;
|
}
|
|
|
/**
|
* 生成延时任务标识key
|
*
|
* @param executorName 执行器beanId
|
* @param triggerTime 执行时间
|
* @param uniqueKey 自定义表示
|
* @return 延时任务标识key
|
*/
|
public static String generateKey(String executorName, Long triggerTime, String uniqueKey) {
|
return PREFIX + (executorName + triggerTime + uniqueKey).hashCode();
|
}
|
|
}
|