在往期写关于stream消息驱动,方便替换消息组件中的使用方法:这是链接
在这里有几个注意事项:
当在本地应用中使用StreamBridge 发送消息
@Autowired
private StreamBridge streamBridge;
streamBridge.send("method-in-0", t); //方法名自定义,发送值
log.info("消息:{}发送成功",method);
一、多个函数接口进行消息发送的时候
1.1 不配置function
spring:
cloud:
stream:
binders:
yshop-rabbit-binder:
type: rabbit
environment:
spring:
rabbitmq:
host: rabbitmq
port: 5672
username: guest
password: guest
virtual-host: /
xxx-out-0 作为发送:无消费
xxx-in-0 作为发送:无消费
1.2 配置了function
spring:
cloud:
stream:
binders:
yshop-rabbit-binder:
type: rabbit
environment:
spring:
rabbitmq:
host: rabbitmq
port: 5672
username: guest
password: guest
virtual-host: /
function:
definition: myDelayed;mqtt #如果有多个定义的话就需要用;隔开
xxx-out-0 作为发送:无消费
xxx-in-0 作为发送:同步方法消费(消费完成才结束发送的方法)
1.3 配置了对应的bindings 其中有一个未绑定
spring:
cloud:
stream:
binders:
yshop-rabbit-binder:
type: rabbit
environment:
spring:
rabbitmq:
host: rabbitmq
port: 5672
username: guest
password: guest
virtual-host: /
function:
definition: myDelayed;mqtt #如果有多个定义的话就需要用;隔开
bindings:
myDelayed-in-0: # 消费者绑定名称,myDelayed是自定义的绑定名称,in代表消费者,0是固定写法
destination: my-delayed-topic # 对应的真实的 RabbitMQ Exchange
# group: ijustecA 分组后
myDelayed-out-0: # 生产者绑定名称,myDelayed是自定义的绑定名称,out代表生产者,0是固定写法
destination: my-delayed-topic # 对应的真实的 RabbitMQ Exchange
xxx-out-0 作为发送:myDelayed收到消息且为异步消费,多副本的话不分组会导致一条消息多消费
mqtt无消费
xxx-in-0 作为发送:同步方法消费(消费完成才结束发送的方法)
版权声明:本文为weixin_49390750原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。