package com.ruoyi.integration.rocket.produce; import com.ruoyi.integration.rocket.test.MemberMessage; import com.ruoyi.integration.rocket.util.RocketMQEnhanceTemplate; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.apache.rocketmq.client.producer.SendResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; import java.util.UUID; @RestController @RequestMapping("enhance") @Slf4j public class EnhanceProduceController { //注入增强后的模板,可以自动实现环境隔离,日志记录 @Setter(onMethod_ = @Autowired) private RocketMQEnhanceTemplate rocketMQEnhanceTemplate; private static final String topic = "rocket_enhance"; private static final String tag = "member"; /** * 发送实体消息 */ @GetMapping("/member") public SendResult member() { String key = UUID.randomUUID().toString(); MemberMessage message = new MemberMessage(); // 设置业务key message.setKey(key); // 设置消息来源,便于查询 message.setSource("MEMBER"); // 业务消息内容 message.setUserName("Java日知录"); message.setBirthday(LocalDate.now()); return rocketMQEnhanceTemplate.send(topic, tag, message); } }