今天看springcloud相关书籍又讲到springcloudstream
这个虽然在极客时间中看过,但是还没有上手,
书中的例子非常简单易懂,
通过加入spring-cloud-starter-stream-rabbit依赖,
设定两端:
provider | consumer
提供消息的Provider类注解
@EnableBinding(Source.class)
@RestController
注入MessageChannel 并注解@Output(Source.OUTPUT)
发送方法为
channel.send(MessageBuilder.withPayload("要发送的消息").build());
而消费端 consumer同样也声明一个接收类
@EnableBinding(Sink.class)
并在方法上注解
@StreamListener(Sink.INPUT)
行参为String类型,来接收provider发送的消息
其配置yml中对应设定端口号,application.name 以及 rabbitmq的账户信息
除了name不同两个(provider,consumer)的运行端口号不同,其它配置都一样。
server:
port:8888(9888)
spring:
application:
name:stream-rbt-provider(consumer)
rabbitmq:
host:localhost
port:5672
username:guest
password:guest