Dubbo 注解配置及启动检查
2019-01-04 本文已影响0人
你值得拥有更好的12138
一.dubbo注解配置
1.首先配置registryConfig 注册中心
2.配置applictionConifg 和 consumerConfig/providerConfig配置(可选)
3.配置dubbo 注解扫描包
4.使用@Service,@Reference注解消费者提供者
@Configuration
public class DubboConfiguration {
@Bean
public ApplicationConfig applicationConfig() {
ApplicationConfig applicationConfig = new ApplicationConfig();
applicationConfig.setName("provider-test");
return applicationConfig;
}
@Bean
public RegistryConfig registryConfig() {
RegistryConfig registryConfig = new RegistryConfig();
registryConfig.setAddress("zookeeper://127.0.0.1:2181");
registryConfig.setClient("curator");
return registryConfig;
}
}
配置完基础设置后,配置扫描路径
@SpringBootApplication
@DubboComponentScan(basePackages = "com.alibaba.dubbo.test.service.impl")
public class ProviderTestApp {
// ...
}
使用注解标记
public class AnnotationConsumeService {
@com.alibaba.dubbo.config.annotation.Reference
public AnnotateService annotateService;
// ...
}
注解属性与配置文件方式一致。
二.dubbo关闭启动检查
<dubbo:reference interface="com.foo.BarService" check="false" />
dubbo.reference.com.foo.BarService.check=false
java -Ddubbo.reference.com.foo.BarService.check=false
dubbo默认是在启动时,检查我所引用的服务接口是否存在,如果不存在即抛出异常。所以都是先启动提供者,再启动消费者。但是有些情况是可以不在启动时候,检查。
1.spring容器是懒加载的
2.使用代码API方式延迟加载
3.存在循环依赖的情况
这些情况都可以关闭启动检查
优先级为:jvm 参数 > xml > properties