可以看https://blog.youkuaiyun.com/elim168/article/details/101082105这个博主的介绍,讲的很详细
看完上面博主的,下面是我的一点总结
首先用spring-cloud-stream的目的就是实现解耦,在更换MQ组件时,代码层面不需要改,只需要改相应的MQ配置
使用这个注解开启Stream@EnableBinding({AAA.class})
AAA是我自定义的接口,在接口里可以用@Output("输出映射名") @Input("输入映射名")来定义多个输出及输入的映射名
这个映射名主要是用于跟配置中的MQ的Topic对应起来(通过其destination属性指定该Binding对应的实际的目的地)
比如说@Output("test-topic-out")就跟配置中的spring.cloud.stream.rocketmq.bindings.test-topic-out.destination=testTopic
比如说@Input("test-topic-input")就跟配置中的spring.cloud.stream.rocketmq.bindings.test-topic-input.destination=testTopic
这样就将out跟input对应哪个topic给配置上了,在调用out或input方法时就会自动将消息发到这个topic或者从这个topic消费消息
@Input("test-topic-input")只是定义了映射关系
还需要在对应的Topic消费类的消费方法加上@StreamListener("test-topic-input")
这样子才能真正消费到消息
本文介绍了如何使用Spring Cloud Stream实现与消息中间件(MQ)的集成,通过配置实现不同MQ之间的轻松切换,并展示了如何定义输入输出映射来对应MQ的主题(Topic)。
2571

被折叠的 条评论
为什么被折叠?



