Dubbo(十一)dubbo的超时重试配置以及启动检查

一、dubbo超时重试配置

dubbo重试次数配置使用的是retries 属性。可以配置于服务提供者、消费者的接口方法、接口类、以及全局配置范围上。与超时配置优先级一样遵循就近原则,方法上的配置优先于接口类的,全局配置优先级最低。同级别的配置,消费者的配置优先于提供者的配置。

1,使用xml方式配置服务提供者

分别配置在全局、接口、方法

Dubbo(十一)dubbo的超时重试配置以及启动检查_第1张图片

2,使用注解方式配置服务提供者

配置在服务提供接口类上的重试方式,在Service注解内进行配置,貌似无方法以及全局方式的注解。

Dubbo(十一)dubbo的超时重试配置以及启动检查_第2张图片

3,使用xm方式配置服务消费者工程

分别配置在全局、接口、方法

Dubbo(十一)dubbo的超时重试配置以及启动检查_第3张图片

4,使用注解配置服务消费者重试次数

配置在属性引用的注解@Reference上,貌似也没找到全局以及方法级别的配置。

Dubbo(十一)dubbo的超时重试配置以及启动检查_第4张图片

二、dubbo的启动检查

dubbo的启动检查是在启动服务消费者的时候,是否进行检查消费者中引用的服务接口是否在注册中心中是否存在。默认检查开启。检查只存在与dubbo消费者工程中,只要全局级别和类级别上。

2.1 使用xml方式配置开启关闭检查

与 timeout、retries 一样 全局配置与 全局、引用接口上。

Dubbo(十一)dubbo的超时重试配置以及启动检查_第5张图片

2.2 使用注解方式配置开启检查

作用与属性注解@Reference中。

Dubbo(十一)dubbo的超时重试配置以及启动检查_第6张图片

1,默认开启检查时,正常启动时先启动服务提供者工程,在启动服务消费者工程,启动过程无问题;

2,默认开启检查时,先启动服务消费者工程,则在启动过程中进行检查,当有引用的服务不存在时,则会抛出异常:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderController': Unsatisfied dependency expressed through field 'orderService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderServiceImpl': Injection of @Reference dependencies is failed; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.xiaohui.service.UserService. No provider available for the service com.xiaohui.service.UserService:2.0.0 from the url zookeeper://172.18.230.163:2181/org.apache.dubbo.registry.RegistryService?anyhost=true&application=order-service-consumer&bean.name=ServiceBean:com.xiaohui.service.UserService:2.0.0&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xiaohui.service.UserService&lazy=false&methods=queryAllUserAddress&pid=11228&qos.enable=false®ister=true®ister.ip=10.4.41.51&release=2.7.3&remote.application=user-service-provider&retries=3&revision=2.0.0&side=consumer&sticky=false×tamp=1599573920786&version=2.0.0 to the consumer 10.4.41.51 use dubbo version 2.7.3

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderServiceImpl': Injection of @Reference dependencies is failed; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.xiaohui.service.UserService. No provider available for the service com.xiaohui.service.UserService:2.0.0 from the url zookeeper://172.18.230.163:2181/org.apache.dubbo.registry.RegistryService?anyhost=true&application=order-service-consumer&bean.name=ServiceBean:com.xiaohui.service.UserService:2.0.0&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xiaohui.service.UserService&lazy=false&methods=queryAllUserAddress&pid=11228&qos.enable=false®ister=true®ister.ip=10.4.41.51&release=2.7.3&remote.application=user-service-provider&retries=3&revision=2.0.0&side=consumer&sticky=false×tamp=1599573920786&version=2.0.0 to the consumer 10.4.41.51 use dubbo version 2.7.3
Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.xiaohui.service.UserService. No provider available for the service com.xiaohui.service.UserService:2.0.0 from the url zookeeper://172.18.230.163:2181/org.apache.dubbo.registry.RegistryService?anyhost=true&application=order-service-consumer&bean.name=ServiceBean:com.xiaohui.service.UserService:2.0.0&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.xiaohui.service.UserService&lazy=false&methods=queryAllUserAddress&pid=11228&qos.enable=false®ister=true®ister.ip=10.4.41.51&release=2.7.3&remote.application=user-service-provider&retries=3&revision=2.0.0&side=consumer&sticky=false×tamp=1599573920786&version=2.0.0 to the consumer 10.4.41.51 use dubbo version 2.7.3

3,当关闭检查后,先启动服务消费者工程,则正常启动不会报错。

 

 

 

你可能感兴趣的:(Dubbo,dubbo)