更新時間:2022-12-06 10:11:29 來源:動力節點 瀏覽1712次
相信大家對什么是Dubbo已經有所了解,那么,Dubbo消費者配置的方法有哪些?動力節點小編來告訴大家。
Dubbo Consumer的配置有3種方式:XML配置、API調用方式配置、注解方式配置。
最簡單的配置示例:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
Xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema /dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
<dubbo:application name="hello-world-app" />
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:reference id="demoServiceRemote" interface="com.alibaba.dubbo.demo.DemoService" />
</beans>
參考注解遠程服務
Public class AnnotationConsumeService {
@com.alibaba.dubbo.config.annotation.Reference
Public AnnotateService annotateService;
// ...
}
這種方式的配置和前面xml中的配置是一樣的。
Import com.alibaba.dubbo.rpc.config.ApplicationConfig;
Import com.alibaba.dubbo.rpc.config.RegistryConfig;
Import com.alibaba.dubbo.rpc.config.ConsumerConfig;
Import com.alibaba.dubbo.rpc.config.ReferenceConfig;
Import com.xxx.XxxService;
// current application configuration
ApplicationConfig application = new ApplicationConfig();
application.setName("yyy");
// Connect to the registry configuration
RegistryConfig registry = new RegistryConfig();
registry.setAddress("10.20.130.230:9090");
registry.setUsername("aaa");
registry.setPassword("bbb");
// Note: ReferenceConfig is a heavy object that internally encapsulates the connection to the registry and the connection to the service provider.
// reference remote service
ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // This instance is heavy, encapsulates the connection to the registry and the connection to the provider, please cache it yourself, otherwise it may cause memory and connection leaks.
reference.setApplication(application);
reference.setRegistry(registry); // Multiple registries can use setRegistries()
reference.setInterface(XxxService.class);
reference.setVersion("1.0.0");
// Use xxxService like local beans
XxxService xxxService = reference.get();
方法特殊設置
// Method level configuration
List<MethodConfig> methods = new ArrayList<MethodConfig>();
MethodConfig method = new MethodConfig();
method.setName("createXxx");
method.setTimeout(10000);
method.setRetries(0);
Methods.add(method);
// reference remote service
ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // This instance is heavy, encapsulates the connection to the registry and the connection to the provider, please cache it yourself, otherwise it may cause memory and connection leaks.
...
reference.setMethods(methods); // Set method level configuration
需要通過 Dubbo 調用遠程服務。具體步驟如下:
1.創建項目 如果已經有項目,可以忽略。創建一個可以在https://start.spring.io/創建的 spring boot 項目。服務的提供者已在提供者部分定義。
2.調用服務
@RestController
Public class UserTestController{
@Autowired
Private UserReadService userReadService;
@RequestMapping("/user/getById")
Public String getUserById(Long id){
// just test
Return userReadService.getUserById(id).toString();
}
}
3.Dubbo配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
Xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
Xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://dubbo.apache.org/schema /dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
<dubbo:application name="hello-world-app" />
<dubbo:registry address="multicast://224.5.6.7:1234" />
<dubbo:protocol name="dubbo" port="20880" />
<dubbo:reference id="userReadService" interface="com.package.UserReadService"check="false" />
</beans>
以上就是關于“Dubbo消費者配置的方法”介紹,大家如果想了解更多可查看Dubbo教程,里面還有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習