当前位置: 首页 >> 发展
使用 Spring Cloud Bus 在微服务之间传递消息示例|全球时讯
来源:腾讯云     时间:2023-04-22 10:36:28


(资料图片仅供参考)

下面是一个完整的示例,演示如何使用 Spring Cloud Bus 在微服务之间传递消息。该示例包含两个微服务,一个是消息发送者,另一个是消息接收者。

首先,我们需要创建一个 Spring Boot 项目,并添加 Spring Cloud Bus 和 RabbitMQ 的依赖。在 pom.xml 文件中添加以下依赖:

    org.springframework.cloud    spring-cloud-starter-bus-amqp    2.2.1.RELEASE    org.springframework.boot    spring-boot-starter-web    2.2.1.RELEASE    org.springframework.boot    spring-boot-starter-amqp    2.2.1.RELEASE

在创建的项目中,我们定义了一个消息类型 MyMessage,该类型包含一个字符串类型的 content 属性。

javaCopy codepublic class MyMessage implements Serializable {    private static final long serialVersionUID = 1L;    private String content;    public MyMessage(String content) {        this.content = content;    }    public String getContent() {        return content;    }    public void setContent(String content) {        this.content = content;    }}

然后,我们创建了一个消息发送者,该发送者使用 Spring Cloud Bus 发送消息。

@RestControllerpublic class MyController {    @Autowired    private MessageSender messageSender;    @PostMapping("/send")    public void sendMessage(@RequestBody MyMessage message) {        messageSender.sendMessage(message);    }}@Servicepublic class MessageSender {    private static final Logger LOGGER = LoggerFactory.getLogger(MessageSender.class);    @Autowired    private MessageChannel output;    public void sendMessage(MyMessage message) {        LOGGER.info("Sending message: {}", message.getContent());        output.send(MessageBuilder.withPayload(message).build());    }}@Servicepublic class MessageListener {    private static final Logger LOGGER = LoggerFactory.getLogger(MessageListener.class);    @StreamListener(target = Sink.INPUT, condition = "headers["type"]=="MyMessage"")    public void handleMessage(MyMessage message) {        LOGGER.info("Received message: {}", message.getContent());    }}

在这个例子中,我们创建了一个 MyController 类,该类定义了一个发送消息的 API 接口,接收一个 MyMessage 类型的参数,将参数传递给 MessageSender 类的 sendMessage() 方法。

MessageSender 类定义了一个 sendMessage() 方法,该方法使用 Spring Cloud Stream 的 output 消息通道发送消息。

MessageListener 类定义了一个 handleMessage() 方法,该方法使用 @StreamListener 注解监听 Spring Cloud Stream 的 input 消息通道,并根据消息类型过滤消息。当有符合条件的消息到达时,handleMessage() 方法会被自动调用,处理接收到的消息。

在以上代码中,我们使用了 @Autowired 注解自动注入了 MessageSender 和 MessageListener 类,这是 Spring Boot 自带的依赖注入功能。

运行应用程序后,我们可以使用 Postman 工具或其他 HTTP 工具发送 HTTP POST 请求,将消息发送到消息发送者的 API 接口,如下所示:

POST http://localhost:8080/send HTTP/1.1Content-Type: application/json{    "content": "Hello, World!"}

当消息到达时,消息接收者会打印消息内容,如下所示:

2023-04-19 09:24:47.836  INFO 29740 --- [afka-listener-1] com.example.demo.M
标签:

上一篇:孔国梁

下一篇:最后一页

使用 Spring Cloud Bus 在微服务之间传递消息示例|全球时讯 下面是一个完整的示例,演示如何使用SpringCloudBus在微服务之间传递消息。该示例包含两个微服务,一个是消
孔国梁 1、孔国梁,现任中国国际海运集装箱(集团)股份有限公司非执行董事。2、。文章到此就分享结束,希望对大家
天天关注:KRAFTON与NAVER Z 建立合资公司 开展元宇宙项目 KRAFTON公司(首席执行官CHKim)计划与NAVERZ公司(联合首席执行官Dae-wookKim和Chang-wookKim)建立一家合资企业,开
世界热讯:孔敏悬 1、孔敏悬,出生于1990年1月19日,韩国足球运动员,场上位置为前锋,曾效力于富川1995足球俱乐部、牙山木槿花足
初中化学常见沉淀_世界短讯 楼主您好,有(新制得)红褐色絮状沉淀Fe(OH)3,(新制得)蓝色絮状沉淀Cu(OH)2,白色沉淀,CaCO3,Ba
生姜红糖桂圆红枣枸杞茶的功效_红糖桂圆红枣枸杞茶的功效 环球要闻 1、红糖桂圆大枣枸杞茶可以保护肝脏,增强造血功能,提高人体免疫力,对防治疾病和癌症有很好的效果。2、其
在西安本地宝找工作收费吗 微速讯 一、在西安本地宝找工作不收费二、在西安本地宝上可以找哪类工作?(一)招聘企业类型1、政府类招聘信息2、事
2022下半年四六级加考成绩查询入口(多个)|当前短讯 ▶查询入口1 中国教育考试网网址:http: cet neea edu cn cet2 中国教育考试网微信小程序使用微信APP搜索“
1,4-丁二醇行情周报(4.17-4.21) 4月21日,生意社1,4-丁二醇基准价为10900 00元 吨,与本月初(10500 00元 吨)相比,上涨了3 81%。市场整体开
成都大运会专用道什么时候启用? 成都大运会专用道什么时候启用?大运会专用道将在大运会举办期间启用,具体执行时间以后续发布的交通通告为
网络大咖面对面丨龚良:观众的“九宫格”照片是博物馆的最强广告 4月21日,2023紫金网络传播创新峰会暨大运河文化传播论坛在南京举行。在“以河为媒以网为介”大运河主题...
世界热议:安全工作向“高”攀升向“新”奋进 ■王珺中国二十二冶集团冶金公司安全是一种责任,是一种使命,更是一种意识,是维护生产作业顺利运行的法宝
农夫耕田原文及翻译拼音 农夫耕田原文及翻译-全球快播 今天来聊聊关于农夫耕田原文及翻译拼音,农夫耕田原文及翻译的文章,现在就为大家来简单介绍下农夫耕田原文
今热点:XBB.1.16流行情况如何?会导致结膜炎?官方回应 中新经纬4月21日电21日,国家疾控局官方微信号发布《新冠病毒XBB 1 16变异株知多少?》一文,解释了有关XBB
环球短讯!股票行情快报:常山药业(300255)4月21日主力资金净卖出98.31万元 截至2023年4月21日收盘,常山药业(300255)报收于5 16元,下跌0 96%,换手率0 8%,成交量7 43万手,成交额3870 62万元。
三星云宣布终止云盘音乐和文件恢复功能:删除用户数据 三星云宣布终止云盘音乐和文件恢复功能:删除用户数据
vivo x filp发布,外屏是三寸,相对均衡的竖向折叠屏产品 vivoxfilp发布,一款很不错的折叠屏,也是竖向折叠屏产品,价格只能说没有惊喜,但也不能说不值得选择,毕
青海电信网上营业厅官网查询_青海电信网上营业厅 1、具体什么原因,如果电信不给你办理,你可以投诉他们,拨打12300投诉到工信部就可以了。2、或者直接换联
世界焦点!科顺股份(300737):4月21日北向资金减持66.95万股 4月21日北向资金减持66 95万股科顺股份。近5个交易日中,获北向资金减持的有4天,累计净减持207 21万股。近
长源电力(000966):4月21日北向资金减持42.91万股 4月21日北向资金减持42 91万股长源电力。近5个交易日中,获北向资金增持的有4天,累计净增持824 21万股。近
国风茶点餐来啦!东航“云上食·臻”焕新发布 这次上新的“云上食·臻”系列茶点主要面向广大的经济舱,且在非正餐时段提供,以开胃冷菜、爽口主食及...
红烧鳝鱼怎么做好吃_红烧鳝鱼的做法 欢迎观看本篇文章,小升来为大家解答以上问题。红烧鳝鱼怎么做好吃,红烧鳝鱼的做法很多人还不知道,现在让
全球时讯:记者:母公司佳兆业集团仍未摆脱资金困境 无力向深圳队输血 记者:母公司佳兆业集团仍未摆脱资金困境无力向深圳队输血,深足,输血,深圳队,佳兆业集团
环球热点评!双倍浪漫!22日两场美丽天象将上演 天文科普专家介绍,4月22日,两场美丽的天象将登陆“天宇剧场”。蛾眉月将与昴星团近距离相伴,上演浪漫...
星火成炬 | 妙“手”在民间_天天新要闻 央视网消息:传承非物质文化遗产,他们身怀绝技;发展带动国潮,他们各显高招。出手即惊艳,妙“手”在...

广告

X 关闭

广告

X 关闭