springboot-dubbo cannot be cast to問題及解決
springboot-dubbo cannot be cast to
使用spring boot 集成dubbo的時候遇到問題:
2018-05-22 14:41:35.108 ERROR 2224 — [:20880-thread-2] c.a.dubbo.rpc.filter.ExceptionFilter : [DUBBO] Got unchecked and undeclared exception which called by 10.0.75.1. service: com.neo.facade.UseServiceFacade, method: getAll, exception: com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService, dubbo version: 2.5.3, current host: 127.0.0.1
com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) [dubbo-2.5.3.jar:2.5.3]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java) ~[na:2.5.3]
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72) ~[dubbo-2.5.3.jar:2.5.3]
… 25 common frames omitted
Caused by: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
… 28 common frames omitted
2018-05-22 14:41:35.126 ERROR 2224 — [:20880-thread-3] c.a.dubbo.rpc.filter.ExceptionFilter : [DUBBO] Got unchecked and undeclared exception which called by 10.0.75.1. service: com.neo.facade.UseServiceFacade, method: getAll, exception: com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService, dubbo version: 2.5.3, current host: 127.0.0.1
com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) [dubbo-2.5.3.jar:2.5.3]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java) ~[na:2.5.3]
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72) ~[dubbo-2.5.3.jar:2.5.3]
… 25 common frames omitted
Caused by: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
… 28 common frames omitted
2018-05-22 14:41:35.133 ERROR 2224 — [:20880-thread-4] c.a.dubbo.rpc.filter.ExceptionFilter : [DUBBO] Got unchecked and undeclared exception which called by 10.0.75.1. service: com.neo.facade.UseServiceFacade, method: getAll, exception: com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService, dubbo version: 2.5.3, current host: 127.0.0.1
com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote proxy method getAll to registry://127.0.0.1:2181/com.alibaba.dubbo.registry.RegistryService?application=provider&dubbo=2.5.3&export=dubbo%3A%2F%2F10.0.75.1%3A20880%2Fcom.neo.facade.UseServiceFacade%3Fanyhost%3Dtrue%26application%3Dprovider%26dubbo%3D2.5.3%26interface%3Dcom.neo.facade.UseServiceFacade%26methods%3DgetAll%2CgetOne%2Cupdate%2Cinsert%2Cdelete%26pid%3D2224%26revision%3D1.0.0%26side%3Dprovider%26timestamp%3D1526971274301%26version%3D1.0.0&pid=2224®istry=zookeeper×tamp=1526971274290, cause: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:76) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:60) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:112) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:108) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) [dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) [dubbo-2.5.3.jar:2.5.3]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: java.lang.IllegalArgumentException: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
at com.alibaba.dubbo.common.bytecode.Wrapper1.invokeMethod(Wrapper1.java) ~[na:2.5.3]
at com.alibaba.dubbo.rpc.proxy.javassist.JavassistProxyFactory$1.doInvoke(JavassistProxyFactory.java:46) ~[dubbo-2.5.3.jar:2.5.3]
at com.alibaba.dubbo.rpc.proxy.AbstractProxyInvoker.invoke(AbstractProxyInvoker.java:72) ~[dubbo-2.5.3.jar:2.5.3]
… 25 common frames omitted
Caused by: java.lang.ClassCastException: com.neo.service.UserService cannot be cast to com.neo.service.UserService
… 28 common frames omitted
是由spring-boot-devtools引起的
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
估計是和dubbo有點沖突
dubbo報錯總結
作為一個dubbo使用新手,有必要總結一些常見的dubbo問題,提升解決問題的套路。
1.dubbo consumer 調用provider報錯(1)- No provider available
問題:
No provider available from registry xxx from service xxx on consumer xxx may be providers disabled or not registrered。
如下圖所示:
原因:
根據源碼的截圖所示(下圖),就兩個原因:
1)No service provider
2)Service providers are disabled
解決辦法:
1).provider部署分支不正確,部署正確的分支。
2).consumer部署分支的zookeeper地址不正確。
2.dubbo consumer調用provider報錯(2)
問題:
com.alibaba.dubbo.rpc.RpcException: Rpc cluster invoker for interface xxx on consumer 10.2.4.63 use dubbo version 2.6.0.2 is now destroyed! Can not invoke any more.
原因:
調用鏈路:invoke()–>checkWhetherDestroyed()
consumer端調用的時候,發現出現實例已經destory,就拋出此異常
懷疑是由於內存不足,dubbo進程觸發瞭spring的destroy()方法,同時就執行到瞭AbstractClusterInvoker.destroy(),但是此時進程並沒有掛掉,所以就出現瞭可以調用,但是調用失敗的情況。
解決方法:
1)查看provider服務器是否內存不夠,kill掉不相幹的進程。
2)重啟provider服務。
3.dubbo consumer 調用provider報錯(3)- NoSuchMethodException
問題:
Caused by: com.alibaba.dubbo.common.bytecode.NoSuchMethodException: Not found method “getSocialResourceByRegionId” in class com.missfresh.product.center.service.impl.SocialResourceServiceImpl.
原因:
dubbo服務部署的分支裡沒有相關接口的實現。
解決方法:
部署對應的分支。或者是直接部署master。
4.dubbo consumer 調用provider報錯(4)- Thread pool is EXHAUSTED!
問題:
com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method queryProductSalsPromotionTagList in the service com.missfresh.product.center.service.IProductCategorysService. Tried 1 times of the providers
原因:
如上圖所示,provider服務支持的最大線程數為300。
解決方法:
檢查程序中並發采用的線程池初始化值,是否合理。最大線程個數不能大於300.
總結
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- java開發分佈式服務框架Dubbo原理機制詳解
- java開發分佈式服務框架Dubbo暴露服務過程詳解
- Java Dubbo框架知識點梳理
- MyBatis查詢無記錄時的返回值問題
- 快速學會Dubbo的配置環境及相關配置