bug宝典Java篇 com.alibaba.dubbo.rpc.RpcException

今天开发微信程序发现一个奇怪的。我的微信调用后台其他系统的二维码功能,但在ios手机下面出现下面的错误,这个错误的原因是找不到对应的方法. 而此刻,如果我用另一个手机点击同样的功能却没有下面的错误,是正常的。这个问题值得研究一番。
验证清单如下,同样的微信后台,为什么结果不一样呢?
iphone5s 有问题,因为这个手机很早就关注了微信公众号的应用。
iphone6s 没有问题,刚关注
红米 note4:没有问题,刚关注
我按照下面的策略进行一一排查
1 排除方案一 重启dubbo
没有效果,还是同样的异常
2 排除方案二 重启zookeeper
没有效果,还是同样的异常
3 排查tomcat
以上两种方案,主要是我对dubbo、zookeeper还不算特别精通,担心是因为他们的缓存所致。既然不是他们的问题,那么问题肯定就出在tomcat。
检查webapps中工程文件,发现代码是最新的,说明程序没有问题。
最后检查ROOT目录,发现问题了,ROOT有完整的wcn的工程文件,不知道是谁放进去的。折腾半天。不过也能说明问题
即使通过设置虚拟目录
<Context debug="0" docBase="wcn" path="" reloadable="true"/>
但原则上他也会去找ROOT根目录,所以才有这样的问题。

16:02:06.645 ERROR com.test.wcn.base.controller.MyInvoiceController - Failed to invoke the method shareQrcodeById in the service com.test.scan.api.service.ScanService. Tried 3 times of the providers [192.168.5.123:10882] (1/1) from the registry 192.168.5.157:2181 on the consumer 192.168.5.149 using the dubbo version 2.8.4. Last error is: Failed to invoke remote method: shareQrcodeById, provider: dubbo://192.168.5.123:10882/com.test.scan.api.service.ScanService?actives=150&anyhost=true&application=WCN&check=false&dubbo=2.8.4&generic=false&interface=com.test.scan.api.service.ScanService&loadbalance=random&methods=updateQrcodeById,insertQrcodeSelective,setDefault,pushQrcode,pushWchatNo,findQrcodeByWchatNo,findQrcodeById,deleteQrcode,shareQrcodeById,findDefaultQrcodeByWchat&organization=test&owner=chenjin&pid=27486&retries=2&revision=1.0.0&side=consumer&timeout=1000&timestamp=1484028769544&validation=true&version=1.0.0, cause: com.alibaba.dubbo.rpc.RpcException: com.test.scan.api.service.ScanService.shareQrcodeById(java.lang.String, java.lang.String, java.lang.String)
com.alibaba.dubbo.rpc.RpcException: com.test.scan.api.service.ScanService.shareQrcodeById(java.lang.String, java.lang.String, java.lang.String)
        at com.alibaba.dubbo.validation.filter.ValidationFilter.invoke(ValidationFilter.java:54)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.ExceptionFilter.invoke(ExceptionFilter.java:64)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:42)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:70)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:132)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.ClassLoaderFilter.invoke(ClassLoaderFilter.java:38)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.filter.EchoFilter.invoke(EchoFilter.java:38)
        at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
        at com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol$1.reply(DubboProtocol.java:113)
        at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.handleRequest(HeaderExchangeHandler.java:84)
        at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:170)
        at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
        at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodException: com.test.scan.api.service.ScanService.shareQrcodeById(java.lang.String, java.lang.String, java.lang.String)
        at java.lang.Class.getMethod(Class.java:1678)
        at com.alibaba.dubbo.validation.support.jvalidation.JValidator.validate(JValidator.java:99)
        at com.alibaba.dubbo.validation.filter.ValidationFilter.invoke(ValidationFilter.java:49)
        ... 25 more

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warrah

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值