package demo.mq; import org.apache.rocketmq.spring.core.RocketMQTemplate; import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; public class DutyImNoticeProducer { private RocketMQTemplate rocketMQTemplate; public static final String MQ_TOPIC = "duty-im-notice-topic"; public void addMq(DutyImNotice message, long timestamp) { String uniqueKey = message.getTenantId() + "_" + message.getId(); Message mqMessage = MessageBuilder.withPayload(message) .setHeader("KEYS", uniqueKey) .setHeader("executeTime", timestamp) .build(); rocketMQTemplate.asyncSend(MQ_TOPIC, mqMessage); } public void convertSend(DutyImNotice message) { rocketMQTemplate.convertAndSend(MQ_TOPIC, message); } public void sendJson(DutyImNotice message) { String body = JSON.toJSONString(message); rocketMQTemplate.syncSend(MQ_TOPIC, body); } }