Dubbo的java配置方式

前言:咱们在使用dubbo的时候,习惯性配置的就是xml,咱们还能够根据java代码进行配置,话很少说,看下面的代码java

1.提供者的java配置 缓存

import com.alibaba.dubbo.rpc.config.ApplicationConfig;
import com.alibaba.dubbo.rpc.config.RegistryConfig;
import com.alibaba.dubbo.rpc.config.ProviderConfig;
import com.alibaba.dubbo.rpc.config.ServiceConfig;
import com.xxx.XxxService;
import com.xxx.XxxServiceImpl;
 
// 服务的实现
XxxService xxxService = new XxxServiceImpl();
 
// 应用信息
ApplicationConfig application = new ApplicationConfig();
application.setName("xxx");
 
//注册信息
RegistryConfig registry = new RegistryConfig();
registry.setAddress("10.20.130.230:9090");
registry.setUsername("aaa");
registry.setPassword("bbb");
 
// 用dubbo协议在20880端口暴露服务
ProtocolConfig protocol = new ProtocolConfig();
protocol.setName("dubbo");
protocol.setPort(20880);
protocol.setThreads(200);
 
// 注意:ServiceConfig保存serversocket实例并保持链接到registry,请将其缓存以得到性能。
 
// 导入配置
ServiceConfig<XxxService> service = new ServiceConfig<XxxService>(); 
service.setApplication(application);
service.setRegistry(registry); // Use setRegistries() for multi-registry case
service.setProtocol(protocol); // Use setProtocols() for multi-protocol case
service.setInterface(XxxService.class);
service.setRef(xxxService);
service.setVersion("1.0.0");
 
// 执行配置
service.export();

2.消费者app

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;
 
// 应用信息
ApplicationConfig application = new ApplicationConfig();
application.setName("yyy");
 
// 注册中心发现
RegistryConfig registry = new RegistryConfig();
registry.setAddress("10.20.130.230:9090");
registry.setUsername("aaa");
registry.setPassword("bbb");
 
// 注释:ReferenceConfig保持与注册中心和提供者的链接,请将其缓存以得到性能。
 
// 引用远程服务
ReferenceConfig<XxxService> reference = new ReferenceConfig<XxxService>(); // In case of memory leak, please cache.
reference.setApplication(application);
reference.setRegistry(registry); 
reference.setInterface(XxxService.class);
reference.setVersion("1.0.0");
 
// 使用 xxxService 做为一个bean
XxxService xxxService = reference.get(); // NOTES: Please cache this proxy instance.

不过官方仍是推荐xml的配置方式进行配置,由于可拓展性比较强。socket

相关文章
相关标签/搜索