欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:RPC:Dubbo

柚子快報激活碼778899分享:RPC:Dubbo

http://yzkb.51969.com/

文章目錄

1. 添加依賴2. 創(chuàng)建服務接口3. 實現(xiàn) Dubbo 服務提供方4. 實現(xiàn) Dubbo 服務消費方5. 注意:啟動時會出現(xiàn)循環(huán)依賴報錯,報錯詳情如下:6. 單元測試:使用JUnit結合Mockito

RPC的高并發(fā)、低延遲可以為多個微服務提供相互間的通信

1. 添加依賴

org.apache.dubbo

dubbo-spring-boot-starter

2.7.15

2. 創(chuàng)建服務接口

public interface HelloService {

String sayHello(String name);

}

3. 實現(xiàn) Dubbo 服務提供方

bootstrap.yaml新增配置

dubbo:

scan:

base-packages: com.rainbowred.core.service

protocol:

name: dubbo

port: 20880

registry:

address: nacos://172.16.3.38:8848

實現(xiàn) HelloService 接口

@DubboService(version = "1.0.0")

public class DefaultHelloService implements HelloService {

@Override

public String sayHello(String name) {

return "Hello, " + name;

}

}

nacos顯示有dubbo服務

4. 實現(xiàn) Dubbo 服務消費方

bootstrap.yaml新增配置

dubbo:

registry:

address: nacos://172.16.3.38:8848

@RestController

@RequestMapping("/tc")

public class TestController {

@DubboReference(version = "1.0.0")

private HelloService helloService;

@RequestMapping("/testRpc")

public String testRpc(String data) {

return helloService.sayHello(data);

}

}

5. 注意:啟動時會出現(xiàn)循環(huán)依賴報錯,報錯詳情如下:

Description:

The dependencies of some of the beans in the application context form a cycle:

targeterBeanPostProcessor defined in class path resource [com/alibaba/cloud/dubbo/autoconfigure/DubboOpenFeignAutoConfiguration.class]

com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository (field private com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy com.alibaba.cloud.dubbo.metadata.repository.DubboServiceMetadataRepository.dubboMetadataConfigServiceProxy)

com.alibaba.cloud.dubbo.service.DubboMetadataServiceProxy

┌─────┐

| com.alibaba.cloud.dubbo.autoconfigure.DubboMetadataAutoConfiguration (field private com.alibaba.cloud.dubbo.metadata.resolver.MetadataResolver com.alibaba.cloud.dubbo.autoconfigure.DubboMetadataAutoConfiguration.metadataResolver)

└─────┘

暫時解決辦法:yaml文件新增配置

spring:

main:

allow-circular-references: true

6. 單元測試:使用JUnit結合Mockito

測試Dubbo服務提供者

測試服務提供者,通常需要測試其業(yè)務邏輯而不是Dubbo框架本身??梢允褂脴藴蔎Unit測試來完成。

import com.rainbowred.commons.services.rpc.HelloService;

import org.junit.jupiter.api.Assertions;

import org.junit.jupiter.api.Test;

/**

* @author wangyitao

* @date 2023/11/28.

*/

public class HelloServiceImplTest {

/**

* 測試Dubbo服務提供者

*/

@Test

public void testSayHello() {

HelloService service = new HelloServiceImpl();

String result = service.sayHello("World");

Assertions.assertEquals("Hello, World !", result);

}

}

測試結果:

測試Dubbo服務消費者

對于服務消費者,可以使用Mockito來模擬Dubbo服務的行為。

import com.rainbowred.commons.services.rpc.HelloService;

import org.junit.jupiter.api.Assertions;

import org.junit.jupiter.api.Test;

import org.mockito.Mockito;

import static org.mockito.Mockito.*;

/**

* @author wangyitao

* @date 2023/11/28.

*/

public class HelloServiceConsumerTest {

/**

* 測試Dubbo服務消費者

*/

@Test

public void testSayHello() {

// 創(chuàng)建一個模擬的HelloService對象

HelloService mockService = mock(HelloService.class);

// 配置模擬對象的行為

when(mockService.sayHello("World")).thenReturn("Hello, World !");

// 使用模擬的服務

String response = mockService.sayHello("World");

// 驗證結果

Assertions.assertEquals("Hello, World", response);

// 驗證交互行為

verify(mockService).sayHello("World");

}

}

測試結果:

柚子快報激活碼778899分享:RPC:Dubbo

http://yzkb.51969.com/

精彩內容

評論可見,查看隱藏內容

本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉載請注明,如有侵權,聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19612867.html

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄