关于Failed to check the status of the service com.xxx.service.ItemService. No provider available.....
项目中用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×tamp=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.....相关推荐
- 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 ...
- 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 ...
- 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 ...
- 编译安装PHP出现configure: error: MySQL configure failed. Please check config.log的解决方法
以下为google的结果: 方案一: 转载链接:http://www.php-oa.com/2008/03/28/php-make.html 好久没有编译安装过php了,为了玩nginx.没法子,编译 ...
- glusterfs Connection failed. Please check if gluster daemon is operational. 解决方法
在3台虚拟机上,centos6.7,装好了glusterfs. gluster peer status,报错,Connection failed. Please check if gluster da ...
- 解决mac下adb devices报错failed to check server version
背景 首先AS在显示连接设备窗口中显示device support,but ask only supports armeabi-v7a,之前可以正常debug: 其次,使用adb devices时报错 ...
- HFSS安装提示failed to check out license during initialization,怎么解决?
HFSS安装后打开文件提示 failed to check out license during initialization cannot connect to license server(FLE ...
- 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 ...
- Mac android studio升级时提示 :Connection failed. Please check your network connection .
1>>Mac 下Android Studio check update 2>>之后会出现 Connection failed. Please check your netwo ...
最新文章
- #技术分享# “乐高”内核的诞生
- brew安装mysql 卸载_Ubuntu环境下MySQL卸载安装配置远程访问三步曲
- rocketmq发送顺序消息(四)
- 117. Populating Next Right Pointers in Each Node II
- boost::geometry::util::calculation_type用法的测试程序
- 2/2 pymysql:基础操作总结
- 大数据中心有什么作用
- X协议 mysql_MySQL X协议分析
- 深入浅出 — 数据分析
- OneNote制作计划表
- 用iscsi和DHCP搭建一个windows无盘系统站【笔记】
- iPhone开发阶段性总结
- Backstepping反步法控制四旋翼无人机(一)
- 计算机无线网怎么安装教程,全民wifi驱动怎么安装_电脑安装全民wifi驱动教程
- MySQL-Parser
- 使用 var 关键字在 Java 中使用动态类型
- Python开发系列课程(10) - 那些年我们踩过的那些坑(上)
- 本科计算机找不到工作,中国IT行业缺口突破百万,为什么计算机行业毕业生还是找不到工作...
- cgb2110-day10
- 管理员如何操作才能提高raid5数据恢复成功率