Dubbo的启动时服务依赖检查是,对象实例化时,判断远程调用是否成功,对象是否能够实例化成功。
参数可配置。
若项目启动时,依赖的服务没有提供,则消费者也无法启动。
[img]http://dl2.iteye.com/upload/attachment/0120/1179/f5c57114-c6c1-3189-8db8-c3fc0eb2ba91.png[/img]
若spring配置成懒加载形式,即服务器启动时,并不实例对象。
[img]http://dl2.iteye.com/upload/attachment/0120/1179/f5c57114-c6c1-3189-8db8-c3fc0eb2ba91.png[/img]
再真正使用对象时,进行实例化,若check=“true”,服务没有提供,会立即抛异常。若check=“false”,服务没有提供,会返回引用,服务提供时,自动连接。
服务依赖检查,可以在一个服务或所有服务或注册中心启动时。
测试类如下 :
[img]http://dl2.iteye.com/upload/attachment/0120/1183/15c51e1c-19e1-3cd3-8217-52dde0e5e05f.png[/img]
测试结果:
[img]http://dl2.iteye.com/upload/attachment/0120/1185/b845caf7-e51c-3acb-82b1-444382a88b9a.png[/img]
上图的行号,代表是哪一行真正抛出异常。
33 : spring 容器启动
35 :获取实例
36 :调用服务
参数可配置。
若项目启动时,依赖的服务没有提供,则消费者也无法启动。
[img]http://dl2.iteye.com/upload/attachment/0120/1179/f5c57114-c6c1-3189-8db8-c3fc0eb2ba91.png[/img]
若spring配置成懒加载形式,即服务器启动时,并不实例对象。
[img]http://dl2.iteye.com/upload/attachment/0120/1179/f5c57114-c6c1-3189-8db8-c3fc0eb2ba91.png[/img]
再真正使用对象时,进行实例化,若check=“true”,服务没有提供,会立即抛异常。若check=“false”,服务没有提供,会返回引用,服务提供时,自动连接。
服务依赖检查,可以在一个服务或所有服务或注册中心启动时。
测试类如下 :
[img]http://dl2.iteye.com/upload/attachment/0120/1183/15c51e1c-19e1-3cd3-8217-52dde0e5e05f.png[/img]
测试结果:
[img]http://dl2.iteye.com/upload/attachment/0120/1185/b845caf7-e51c-3acb-82b1-444382a88b9a.png[/img]
上图的行号,代表是哪一行真正抛出异常。
33 : spring 容器启动
35 :获取实例
36 :调用服务