SpringCloud 集成RabbitMQ使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud 集成RabbitMQ使用相关的知识,希望对你有一定的参考价值。
参考技术A 首先使用了@EnableBinding注解实现对消息通道的绑定,我们在该注解中还传入了一个参数Sink.class,Sink是一个接口,该接口是Spring Cloud Stream中默认实现的对输入消息通道绑定的定义。然后我们在SinkReceiver类中定义了receive方法,并在该方法上添加了@StreamListener注解,该注解表示该方法为消息中间件上数据流的事件监听器,Sink.INPUT参数表示这是input消息通道上的监听处理器。首先我们定义一个接口叫做MySink,如下:
这里我们定义了一个名为mychannel的消息输入通道,@Input注解的参数则表示了消息通道的名称,同时我们还定义了一个方法返回一个SubscribableChannel对象,该对象用来维护消息通道订阅者。然后,我们再定义一个名为MySource的接口,如下:
@Output注解中描述了消息通道的名称,还是mychannel,然后这里我们也定义了一个返回MessageChannel对象的方法,该对象中有一个向消息通道发送消息的方法。
最后我们定义一个消息接收类,如下:
OK,我们在这里绑定消息通道,然后监听自定义的消息通道,最后来测试一下,如下:
如果想要发送对象也可以直接发送,不用进行对象转换,如下:
发送:
接收:
如果我们想要在接收成功后给一个回执,也是OK的,如下:
方法的返回值就是回执消息,回执消息在系统默认的output通道中,我们如果想要接收这个消息,当然就要监听这个通道,如下:
以上是关于SpringCloud 集成RabbitMQ使用的主要内容,如果未能解决你的问题,请参考以下文章
十八.SpringCloud极简入门-Zipkin整合RabbitMQ使用ElasticSearch存储的高性能链路追踪方案
十八.SpringCloud极简入门-Zipkin整合RabbitMQ使用ElasticSearch存储的高性能链路追踪方案