麻豆一区二区-麻豆一区-麻豆一精品传媒媒短视频下载-麻豆亚洲一区-麻豆亚洲-麻豆性视频

首頁 > 綜合 > 正文

全球視訊!配置Spring Cloud Bus并集成消息代理示例

2023-04-17 14:17:43來源:騰訊云  

我們將創(chuàng)建兩個(gè)微服務(wù):一個(gè)是 Order Service,另一個(gè)是 Product Service。這兩個(gè)服務(wù)將使用 Spring Cloud Bus 和 RabbitMQ 來進(jìn)行消息傳遞。

Order Service

首先,讓我們來創(chuàng)建 Order Service。


(資料圖)

@SpringBootApplication@RestController@EnableBinding(Sink.class)public class OrderServiceApplication {    private final Logger logger = LoggerFactory.getLogger(getClass());    @StreamListener(Sink.INPUT)    public void handle(String message) {        logger.info("Received message: {}", message);    }    @GetMapping("/order")    public String placeOrder() {        String message = "Order placed";        logger.info("Sending message: {}", message);        return message;    }    public static void main(String[] args) {        SpringApplication.run(OrderServiceApplication.class, args);    }}

這個(gè)應(yīng)用程序使用 @EnableBinding 注解將 Sink綁定到它的消息代理上。它還使用 @StreamListener 注解來指定消息處理方法。

在 Order Service 中,我們還定義了一個(gè) /order REST 端點(diǎn)。當(dāng)該端點(diǎn)被調(diào)用時(shí),應(yīng)用程序會(huì)向消息代理發(fā)送一條消息。該消息將被 Product Service 接收并處理。

Product Service

接下來,讓我們來創(chuàng)建 Product Service。

@SpringBootApplication@RestController@EnableBinding(Source.class)public class ProductServiceApplication {    private final Logger logger = LoggerFactory.getLogger(getClass());    private final MessageChannel output;    public ProductServiceApplication(Source source) {        this.output = source.output();    }    @PostMapping("/product")    public String addProduct(@RequestBody String product) {        String message = "Product added: " + product;        logger.info("Sending message: {}", message);        output.send(MessageBuilder.withPayload(message).build());        return message;    }    public static void main(String[] args) {        SpringApplication.run(ProductServiceApplication.class, args);    }}

這個(gè)應(yīng)用程序使用 @EnableBinding 注解將 Source 綁定到它的消息代理上。它還定義了一個(gè) /product REST 端點(diǎn),該端點(diǎn)用于添加新產(chǎn)品。

當(dāng) /product 端點(diǎn)被調(diào)用時(shí),Product Service 會(huì)向消息代理發(fā)送一條消息,該消息將被 Order Service 接收并處理。

4.3 運(yùn)行示例

我們已經(jīng)創(chuàng)建了 Order Service 和 Product Service,接下來讓我們運(yùn)行它們并查看消息傳遞的結(jié)果。

首先,我們需要啟動(dòng) RabbitMQ 服務(wù)器。然后,我們可以使用以下命令分別啟動(dòng) Order Service 和 Product Service:

mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8081 (Order Service)mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=8082 (Product Service)

當(dāng)這兩個(gè)服務(wù)都已經(jīng)啟動(dòng)時(shí),我們可以通過訪問 Order Service 的 /order 端點(diǎn)和 Product Service 的 /product 端點(diǎn)來測(cè)試它們之間的消息傳遞。

在 Order Service 的控制臺(tái)輸出中,我們應(yīng)該能夠看到類似以下內(nèi)容的消息:

Received message: Product added: {product name}

這表明 Product Service 成功地向 Order Service 發(fā)送了一條消息,并且 Order Service 成功地接收并處理了該消息。

標(biāo)簽:

相關(guān)閱讀

精彩推薦

相關(guān)詞

推薦閱讀

主站蜘蛛池模板: 久久国产乱子伦精品免费不卡 | 四虎影视在线影院在线观看观看 | 亚洲欧美日韩精品 | 成人久久18免费网站入口 | 国色天香社区视频在线观看免费完整版 | 天天狠天天透天干天天怕处 | 男人影院在线观看 | 国产欧美国产综合第一区 | jizz农村野外jizz农民 | 亚洲麻豆精品果冻传媒 | 亚洲国产精品日本无码网站 | 99热这里只有精品在线 | 高h巨肉play 高h短篇辣肉各种姿势bl | 无毛黄片| 美女跪式抽搐gif动态图 | 欧美一级在线视频 | 四虎免费在线观看 | 色香婷婷 | 91精品啪在线观看国产老湿机 | 69日本xxxxxxxxx98 69人成网站色www | 欠操h | 国产一级一级一级成人毛片 | 加勒比京东热 | 视频一本大道香蕉久在线播放 | 色字当头| 亚洲国产精品嫩草影院久久 | 亚洲国产情侣一区二区三区 | 国产亚洲福利精品一区二区 | 嫩草影院地址一地址二 | 99热久久国产精品这里 | 99久久免费国产精品热 | 护士让我吃奶我扒她奶 | 成人免费在线视频网 | 糖心视频在线观看 | 国产视频自拍一区 | 亚州在线播放 | 精品精品国产yyy5857香蕉 | 日本三级做a全过程在线观看 | 明星ai人脸替换脸忘忧草 | 亚洲香蕉网久久综合影院3p | 特黄特色大片免费视频播放 |