teaey / spring-boot-starter-dubbo

Dubbo Spring Boot 工程
https://github.com/dubbo/dubbo-spring-boot-starter
Apache License 2.0
174 stars 435 forks source link

spring boot war 项目使用 spring-boot-starter-dubbo 出错: interface xxx is not visible from class loader #303

Open 205140040 opened 7 years ago

205140040 commented 7 years ago

2017-07-25 10:58:26,849 (AbstractRegistry.java:302) INFO [restartedMain] [DUBBO] Register: consumer://192.168.8.65/com.demo.service.IHelloService?application=boot-dubbo-web&category=consumers&check=false&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549, dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:26,933 (AbstractRegistry.java:325) INFO [restartedMain] [DUBBO] Subscribe: consumer://192.168.8.65/com.demo.service.IHelloService?application=boot-dubbo-web&category=providers,configurators,routers&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549, dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:27,020 (AbstractRegistry.java:422) INFO [restartedMain] [DUBBO] Notify urls for subscribe url consumer://192.168.8.65/com.demo.service.IHelloService?application=boot-dubbo-web&category=providers,configurators,routers&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549, urls: [dubbo://192.168.8.65:20880/com.demo.service.IHelloService?anyhost=true&application=provider&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=18052&side=provider&timestamp=1500949251766, empty://192.168.8.65/com.demo.service.IHelloService?application=boot-dubbo-web&category=configurators&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549, empty://192.168.8.65/com.demo.service.IHelloService?application=boot-dubbo-web&category=routers&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549], dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:27,338 (AbstractClient.java:287) INFO [restartedMain] [DUBBO] Successed connect to server /192.168.8.65:20880 from NettyClient 192.168.8.65 using dubbo version 2.5.3, channel is NettyChannel [channel=[id: 0x71fbf7b6, /192.168.8.65:61930 => /192.168.8.65:20880]], dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:27,339 (AbstractClient.java:105) INFO [restartedMain] [DUBBO] Start NettyClient chenyuan-PC/192.168.8.65 connect to the server /192.168.8.65:20880, dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:27,384 (ReferenceConfig.java:423) INFO [restartedMain] [DUBBO] Refer dubbo service com.demo.service.IHelloService from url zookeeper://192.168.3.11:2181/com.alibaba.dubbo.registry.RegistryService?anyhost=true&application=boot-dubbo-web&check=false&dubbo=2.5.3&interface=com.demo.service.IHelloService&methods=sayHello&pid=11740&side=consumer&timestamp=1500951498549, dubbo version: 2.5.3, current host: 192.168.8.65 2017-07-25 10:58:27,387 (AnnotationBean.java:239) ERROR [restartedMain] [DUBBO] Failed to init remote service reference at filed helloService in class com.demo.web.controller.BootDubboHelloController, cause: interface com.demo.service.IHelloService is not visible from class loader, dubbo version: 2.5.3, current host: 192.168.8.65 java.lang.IllegalArgumentException: interface com.demo.service.IHelloService is not visible from class loader at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:98) at com.alibaba.dubbo.common.bytecode.Proxy.getProxy(Proxy.java:67) at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:35) at com.alibaba.dubbo.rpc.proxy.AbstractProxyFactory.getProxy(AbstractProxyFactory.java:49) at com.alibaba.dubbo.rpc.proxy.wrapper.StubProxyFactoryWrapper.getProxy(StubProxyFactoryWrapper.java:60) at com.alibaba.dubbo.rpc.ProxyFactory$Adpative.getProxy(ProxyFactory$Adpative.java) at com.alibaba.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:426) at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:300) at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:138) at com.alibaba.dubbo.config.spring.AnnotationBean.refer(AnnotationBean.java:302) at com.alibaba.dubbo.config.spring.AnnotationBean.postProcessBeforeInitialization(AnnotationBean.java:233) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)

wingslijun commented 7 years ago

有可能是jar包重复了

205140040 commented 7 years ago

是这个spring-boot-devtools 类加载的问题,移除该jar就好了

wq409813230 commented 6 years ago

移除spring-boot-devtools.jar的话comsumer端怎么调试,每次都冷重启吗

205140040 commented 6 years ago

dubbo只修改代码,不修改接口参数和返回值,好像不用重启,修改了只能手动重启了,这个问题可能需要官方修复:spring-boot-devtools 类加载的问题,移除该jar