RpcException: No provider available from registry

版权声明:随便转吧,反正我也是转的 https://blog.csdn.net/qq_34122822/article/details/81872781

在使用dubbo调用服务时,报No provider错误,错误信息如下:

com.alibaba.dubbo.rpc.RpcException: No provider available from registry 47.98.198.11:2181 for service xzf/com.sangular.dolphin.api.item.AttributeServiceRemote:1.0.1 on consumer 192.168.3.90 use dubbo version 2.6.2, please check status of providers(disabled, not registered or in blacklist).
	at com.alibaba.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:575) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:74) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:271) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:232) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52) ~[dubbo-2.6.2.jar:2.6.2]
	at com.alibaba.dubbo.common.bytecode.proxy0.searchAttListName(proxy0.java) ~[dubbo-2.6.2.jar:2.6.2]
	at com.sangular.dolphin.distributor.web.rest.item.AttributeController.searchAttListName(AttributeController.java:91) ~[classes/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_161]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_161]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_161]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_161]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:866) ~[spring-webmvc-5.0.7.RELEASE.jar:5.0.7.RELEASE]

经过排查,发现是由于服务提供者的版本和消费者的版本不一致导致的,修改提供者的yml配置如下:

profile: dev_envrimont
#provider
server:
    port: 8001
management:
    port: 8011

spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://*****
        username: ***
        password: ***
    aop:
        aspectj-autoproxy: true


dubbo:
    application:
        name: dolphin_server_item
        owner: Dale
        version: 1.0.1
    registry:
        address: zookeeper://***
        file: dubbo-registry.properties
    protocol:
        name: dubbo
        port: 20880
    scan:
      basePackages: com.sangular.dolphin.item.impl
    service:
      group: xzf
      version: 1.0.1

同时将消费者的版本号和提供者保持一致,version和group需保持一致

profile: dev_envrimont

server:
    port: 8005
#management:
#  server:
#    port: 7012

    

dubbo:
    application:
        name: dolphin_distributor
        owner: Dale
        environment: 1.0.1
    registry:
        address: zookeeper://***
        file: dubbo-registry.properties
    protocol:
        name: dubbo
        port: 20880
    consumer:
        check: false
        version: 1.0.1
    monitor:
        protocol: registry
    reference:
        group: xzf
    scan: com.sangular.dolphin.distributor

问题解决

猜你喜欢

转载自blog.csdn.net/qq_34122822/article/details/81872781
今日推荐