@Service
public class UserServiceImpl implements UserService {
@Override
public User getUserById(String userId) {
// ...
}
}
@Configuration
public class DubboProviderConfiguration {
@Value("${dubbo.provider.timeout}")
private int providerTimeout;
@Value("${dubbo.provider.retries}")
private int providerRetries;
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("dubbo-provider-example");
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("zookeeper://127.0.0.1:2181");
registryConfig.setClient("curator");
return registryConfig;
}
@Bean
public ProtocolConfig protocolConfig() {
ProtocolConfig protocolConfig = new ProtocolConfig();
protocolConfig.setName("dubbo");
protocolConfig.setPort(20880);
return protocolConfig;
}
@Bean
public ServiceConfig<UserService> userServiceConfig(UserService userService) {
ServiceConfig<UserService> serviceConfig = new ServiceConfig<>();
serviceConfig.setInterface(UserService.class);
serviceConfig.setRef(userService);
serviceConfig.setTimeout(providerTimeout);
serviceConfig.setRetries(providerRetries);
return serviceConfig;
}
}
@Configuration
public class DubboConsumerConfiguration {
@Value("${dubbo.consumer.timeout}")
private int consumerTimeout;
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("dubbo-consumer-example");
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("zookeeper://127.0.0.1:2181");
registryConfig.setClient("curator");
return registryConfig;
}
@Bean
public ProtocolConfig protocolConfig() {
ProtocolConfig protocolConfig = new ProtocolConfig();
protocolConfig.setName("dubbo");
protocolConfig.setPort(20880);
return protocolConfig;
}
@Bean
public ReferenceConfig<UserService> userServiceConfig() {
ReferenceConfig<UserService> referenceConfig = new ReferenceConfig<>();
referenceConfig.setInterface(UserService.class);
referenceConfig.setTimeout(consumerTimeout);
referenceConfig.setCheck(false);
return referenceConfig;
}
}