spring cloud stream

今天看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
上一篇:位移提交说明(十一)


下一篇:kafka、rabbitmq、redis区别,各自适合什么场景?