亚洲第一天堂无码专区_一区二区欧美久久_精品剧情v国产在线观看在线_久久久精品综合

首頁 > 綜合 > 正文

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

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

我們將創建兩個微服務:一個是 Order Service,另一個是 Product Service。這兩個服務將使用 Spring Cloud Bus 和 RabbitMQ 來進行消息傳遞。

Order Service

首先,讓我們來創建 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);    }}

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

在 Order Service 中,我們還定義了一個 /order REST 端點。當該端點被調用時,應用程序會向消息代理發送一條消息。該消息將被 Product Service 接收并處理。

Product Service

接下來,讓我們來創建 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);    }}

這個應用程序使用 @EnableBinding 注解將 Source 綁定到它的消息代理上。它還定義了一個 /product REST 端點,該端點用于添加新產品。

當 /product 端點被調用時,Product Service 會向消息代理發送一條消息,該消息將被 Order Service 接收并處理。

4.3 運行示例

我們已經創建了 Order Service 和 Product Service,接下來讓我們運行它們并查看消息傳遞的結果。

首先,我們需要啟動 RabbitMQ 服務器。然后,我們可以使用以下命令分別啟動 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)

當這兩個服務都已經啟動時,我們可以通過訪問 Order Service 的 /order 端點和 Product Service 的 /product 端點來測試它們之間的消息傳遞。

在 Order Service 的控制臺輸出中,我們應該能夠看到類似以下內容的消息:

Received message: Product added: {product name}

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

標簽:

相關閱讀

精彩推薦

相關詞

推薦閱讀

主站蜘蛛池模板: 国产精品永久在线| 亚洲精品在线视频观看| 欧美激情网友自拍| 国产精品99一区| 国产精品日韩av| 久章草在线视频| 欧美高清性xxxxhd| 久久久久久伊人| 日韩精品一区二区三区四| 日本黄网免费一区二区精品 | 69av在线视频| 欧美激情网友自拍| 久久久久久久网站| 国产欧美日本在线| 欧美在线视频一区二区| 91久久久久久国产精品| 91精品在线观| 日本亚洲欧洲色α| 少妇av一区二区三区无码| 久久男人的天堂| 精品国产一区二区三区在线| 国产成人精品日本亚洲专区61| 精品国产综合久久| 中文视频一区视频二区视频三区| 国产精品激情自拍| 欧美激情第6页V| 国产精品美女免费视频| 久久九九免费视频| 91国产一区在线| 日本www在线视频| 国产福利久久| 久久99九九| 久久久久久久免费| 久久av中文字幕| 国产欧美在线观看| 日日碰狠狠丁香久燥| 国产福利视频在线播放| 日韩av不卡播放| 国产精品视频不卡| 久99久视频| 国产精品丝袜久久久久久消防器材|