笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述#yyds干货盘点# springcloud整合stream实现同一通道根据消息内容分发不同的消费逻辑相关的知识,希望能为你提供帮助。
springcloud整合stream实现同一通道根据消息内容分发不同的消费逻辑,在??#yyds干货盘点# springcloud整合stream消费自己生产的消息??基础代码上进行修改。
【#yyds干货盘点# springcloud整合stream实现同一通道根据消息内容分发不同的消费逻辑】1.代码实现:
修改类功能
@RestController
public class TestController
@Autowired
private TestTopic testTopic;
@GetMapping("/sendMessage")
public String messageWithMQ(@RequestParam String message)
testTopic.output().send(MessageBuilder.withPayload(message).build());
return "ok";
@GetMapping("/sendMessage2")
public String sendMessage2(@RequestParam String message)
testTopic.output().send(MessageBuilder.withPayload(message).setHeader("version", "1.0").build());
testTopic.output().send(MessageBuilder.withPayload(message).setHeader("version", "2.0").build());
return "ok";
@Slf4j
@Component
public class TestListener
@StreamListener(TestTopic.INPUT)
public void receive(String payload)
log.info("Received2: " + payload);
@StreamListener(value = https://www.songbingjia.com/android/TestTopic.INPUT, condition ="headers[version]==1.0")
public void receiveV1(String payload, @Header("version") String version)
log.info("Received v1 : " + payload + ", " + version);
@StreamListener(value = https://www.songbingjia.com/android/TestTopic.INPUT, condition ="headers[version]==2.0")
public void receiveV2(String payload, @Header("version") String version)
log.info("Received v2 : " + payload + ", " + version);
2.实现效果:
启动rabbitmq, 项目stream, 打开浏览器??http://localhost:8080/sendMessage2?message=hello-cxh??
查看控制台输出:
推荐阅读
- 桌豪OSD系统部署--上卷
- 视频课程上线(AD账户清理_AD域日常维护实战)
- SpringSecurity能否吊打Shiro()
- #yyds干货盘点#Python爬虫实战,requests模块,Python实现告诉你女神节送什么礼物
- centos下安装go环境两种方法
- 规则引擎-框架设计思想
- #私藏项目实操分享# SAP 电商云 Spartacus UI 的交货模式 Delivery Mode 设计
- 识别哪个服务或驱动程序在系统启动期间失败的 5 种方法
- 认识 Express 的 res.send() 和 res.end()