cloud stream 官方文档阅读笔记2 青旅半醒 2022-04-01 06:24 184阅读 0赞 1、引入 springcloud Stream springcloud Stream 是一个可以用于构建消息驱动服务的框架 为了能够使你的应用连到一个message broker,你可以添加一个 @EnableBinding 注解到你的应用中,然后,你可以添加 @StreamListener 来监听接收事件在你的Stream进程里面。看看下面这个例子 @SpringBootApplication @EnableBinding(Sink.class) public class VoteRecordingSinkApplication { public static void main(String[] args) { SpringApplication.run(VoteRecordingSinkApplication.class, args); } @StreamListener(Sink.INPUT) public void processVote(Vote vote) { votingService.recordVote(vote); } } @EnableBinding 注解可以有多个接口参数(在这个例子中,只有一个Sink接口作为参数)。一个接口定义了输入和输出的通道, springcloud Stream提供 Source/Sink/Processor 接口。同时,你可以自定义你自己的接口。 来看看Sink接口的实现: public interface Sink{ String INPUT = "input"; @Input(Sink.INPUT) SubscribableChannel input(); } @Input 注解定义一个 input 的通道,也就是消息从消息中间件传输到应用的通道。@Output注解定义了一个output的通道, 也就是消息从应用离开的通道。这两个注释都可以传入一个通道名的参数。如果没有传入,被注解的方法名将被使用。 springcloud Stream 生成了一个具有代表性的接口给我们。我们可以通过自动注入来使用它。比如下面这个例子: @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = VoteRecordingSinkApplication.class) @WebAppConfiguration @DirtiesContext public class StreamApplicationTests { @Autowired private Sink Sink; @Test public void contextLoads(){ assertNotNull(this.sink.input()); } }
还没有评论,来说两句吧...