项目中用dubbo发生:

    Failed to check the status of the service com.test.service.ItemService. No provider available for the service.....

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'itemCatService': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Failed to check the status of the service com.test.service.ItemCatService. No provider available for the service com.test.service.ItemCatService from the url zookeeper://192.168.234.129:2181/com.alibaba.dubbo.registry.RegistryService?application=test-manager-web&dubbo=2.5.3&interface=com.test.service.ItemCatService&methods=getItemCatList&pid=12352&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1537291162995 to the consumer 192.168.234.1 use dubbo version 2.5.3org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:175)org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1585)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254)org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)javax.servlet.GenericServlet.init(GenericServlet.java:160)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)java.lang.Thread.run(Thread.java:745)

解决方案:

在消费方引用dubbo服务上加上check="false"。

<!-- 引用dubbo服务 -->
<dubbo:application name="test-manager-web"/>
<dubbo:registry protocol="zookeeper" address="192.168.234.129:2181"/>
<dubbo:reference interface="com.test.service.ItemService" id="itemService" check="false"/> <!-- 商品分页展示服务 -->
<dubbo:reference interface="com.test.service.ItemCatService" id="itemCatService"  check="false"/> <!-- 商品分类管理服务 -->
<dubbo:reference interface="com.test.content.service.ContentCategoryService" id="contentCategoryService" check="false" /> <!-- 内容管理服务(CMS) -->

原因:

Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。

如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果check=false,总是会返回引用,当服务恢复时,能自动连上。

可以通过check="false"关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。

1、关闭某个服务的启动时检查:(没有提供者时报错)
<dubbo:reference interface="com.foo.BarService" check="false" />2、关闭所有服务的启动时检查:(没有提供者时报错)  写在定义服务消费者一方
<dubbo:consumer check="false" />3、关闭注册中心启动时检查:(注册订阅失败时报错)
<dubbo:registry check="false" />

关于Failed to check the status of the service com.xxx.service.ItemService. No provider available.....相关推荐

  1. Failed to check the status of the service. No provider available for the service【已解决】

    关于Failed to check the status of the service com.******.service.ItemService. No provider available fo ...

  2. Dubbo Failed to check the status of the service.No provider available for the service from问题解决

    问题描述: Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.serv ...

  3. kudu集群Tablet Server异常:Check failed: _s.ok() Bad status: Service unavailable: Cannot initialize clock

    背景: CDH 6.3.1集群上kudu实例Tablet Server异常无法启动.根据报错信息提示时钟同步问题无法启动Check failed: _s.ok() Bad status: Servic ...

  4. 编译安装PHP出现configure: error: MySQL configure failed. Please check config.log的解决方法

    以下为google的结果: 方案一: 转载链接:http://www.php-oa.com/2008/03/28/php-make.html 好久没有编译安装过php了,为了玩nginx.没法子,编译 ...

  5. glusterfs Connection failed. Please check if gluster daemon is operational. 解决方法

    在3台虚拟机上,centos6.7,装好了glusterfs. gluster peer status,报错,Connection failed. Please check if gluster da ...

  6. 解决mac下adb devices报错failed to check server version

    背景 首先AS在显示连接设备窗口中显示device support,but ask only supports armeabi-v7a,之前可以正常debug: 其次,使用adb devices时报错 ...

  7. HFSS安装提示failed to check out license during initialization,怎么解决?

    HFSS安装后打开文件提示 failed to check out license during initialization cannot connect to license server(FLE ...

  8. nfs服务启动失败:Failed to start NFS status monitor for NFSv2/3 locking..

    今天碰到个问题,服务器重启后,nfs服务就启动不了了,关闭都关不了.查看系统日志报下面的错: Aug 10 17:08:53 prod-r3-slt-s-01 systemd: Started Pre ...

  9. Mac android studio升级时提示 :Connection failed. Please check your network connection .

    1>>Mac 下Android Studio  check update 2>>之后会出现 Connection failed. Please check your netwo ...

最新文章

  1. #技术分享# “乐高”内核的诞生
  2. brew安装mysql 卸载_Ubuntu环境下MySQL卸载安装配置远程访问三步曲
  3. rocketmq发送顺序消息(四)
  4. 117. Populating Next Right Pointers in Each Node II
  5. boost::geometry::util::calculation_type用法的测试程序
  6. 2/2 pymysql:基础操作总结
  7. 大数据中心有什么作用
  8. X协议 mysql_MySQL X协议分析
  9. 深入浅出 — 数据分析
  10. OneNote制作计划表
  11. 用iscsi和DHCP搭建一个windows无盘系统站【笔记】
  12. iPhone开发阶段性总结
  13. Backstepping反步法控制四旋翼无人机(一)
  14. 计算机无线网怎么安装教程,全民wifi驱动怎么安装_电脑安装全民wifi驱动教程
  15. MySQL-Parser
  16. 使用 var 关键字在 Java 中使用动态类型
  17. Python开发系列课程(10) - 那些年我们踩过的那些坑(上)
  18. 本科计算机找不到工作,中国IT行业缺口突破百万,为什么计算机行业毕业生还是找不到工作...
  19. cgb2110-day10
  20. 管理员如何操作才能提高raid5数据恢复成功率

热门文章

  1. android bitmap图片下载三级缓存
  2. 2022年煤气最新解析及煤气考试试卷
  3. 分享 | MapGIS高频问题集锦
  4. 如何连接计算机与DSP仿真器,DSP仿真器连不上的原因分析
  5. c java后端,【后端开辟】java与c言语的区分有哪些?
  6. 算法之路,带你轻松学废算法系列之字符串匹配(下)
  7. 【编程实践】MDD 模型驱动开发工程师实战
  8. php做五星评价系统,微信小程序之五星评价功能制作
  9. 007 封包式游戏功能的原理与实现
  10. 在jsp的input输入框 数字过大出现 NaN