【spring boot结合rabbit mq 到点执行,可精确到秒】

创建队列枚举

public enum QueueEnum {
   
   

    /**
     * 各种异步消息频道
     */
    TEST(1,"test","队列频道"),
    DELAY_TEST(2,"delay_test","延迟延迟频道"),
     ;
    private Integer code;
    private String channel;
    private String desc;

    QueueEnum(Integer code, String channel, String desc) {
   
   
        this.code = code;
        this.channel = channel;
        this.desc = desc;
    }

    public Integer getCode() {
   
   
        return code;
    }

    public void setCode(Integer code) {
   
   
        this.code = code;
    }

    public String getChannel() {
   
   
        return channel;
    }

    public void setChannel(String channel) {
   
   
        this.channel = channel;
    }

    public String getDesc() {
   
   
        return desc;
    }

    public void setDesc(String desc) {
   
   
        this.desc = desc;
    }

    public static String findChannelByCode(Integer code) {
   
   
        QueueEnum[] queueEnums = QueueEnum.values();
        for (QueueEnum queueEnum : queueEnums) {
   
   
            if (code == queueEnum.getCode()) {
   
   
                return queueEnum.getChannel();
            }
        }
        return "";
    }
}

创建自定义的队列消息pojo


import java.io.Serializable;
import java.time.LocalDate;

/**
 *
 * 队列消息
 *
 * 注意:涉及序列化问题,请勿将此类移动与修改
 * @author linjianhui
 */
public class QueueMessage implements Serializable {
   
   

    private static final long serialVersionUID = 1L;
	//自定义的队列枚举
    private QueueEnum queueEnum;
    private String activityId;
    /**
     * 任务日期- yyyy-MM-dd
     * 任务日期- yyyy-MM-dd HH:mm:ss
     */
    private String taskDate;

    private String msgId;


    public String getActivityId() {
   
   
        return activityId;
    }

    public String getTaskDate() {
   
   
        return taskDate==null? LocalDate.now().toString():taskDate;
    }

    public void setQueueEnum(QueueEnum queueEnum) {
   
   
        this.queueEnum = queueEnum;
    }

    public void setActivityId(String activityId) {
   
   
        this.activityId = activityId;
    }

    public void setTaskDate(String taskDate) {
   
   
        this.taskDate = taskDate;
    }

    public String getMsgId() {
   
   
        return msgId;
    }

    public void setMsgId(String msgId) {
   
   
        this.msgId = msgId;
    }

    public QueueEnum getQueueEnum() {
   
   
        return queueEnum;
    }

    public QueueMessage() {
   
   
    }

    public QueueMessage(QueueEnum queueEnum, String activityId) {
   
   
        this.queueEnum = queueEnum;
        this.activityId = activityId;
    }

    public QueueMessage(QueueEnum queueEnum, String activityId,String msgId) {
   
   
        this.queueEnum = queueEnum;
        this.activityId = activityId;
        this.msgId=msgId;
    }

    @Override
    public String toString() {
   
   
        final StringBuilder sb = new StringBuilder("QueueMessage{");
        sb.append("queueEnum=").append(queueEnum);
        sb.append(", activityId='").append(activityId).append('\'');
        sb.append(", taskDate='").append(taskDate).append('\'');
        sb.append(", mgsId='").append(msgId).append('\'');
        sb.append('}')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值