bubbo调用Failed to invoke remote method异常解决

Posted 怀小念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bubbo调用Failed to invoke remote method异常解决相关的知识,希望对你有一定的参考价值。

bubbo调用服务异常:

com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote method: getPlanFlowInfo, provider: dubbo://10.20.30.164:21331/com.ys.mqpms.api.IMqPmsApi?application=ysportal-server&default.check=false&default.timeout=300000&dubbo=2.5.3&interface=com.ys.mqpms.api.IMqPmsApi&methods=cbPlanEndExecute,purOrderDetailgetMqMtrlRequireDetailIds,getMtrlRequireMtrlForSumForFlow,getZSPlanTaskChart,getIstockInfo,getAllotDetail,cbZSPlanRectifyStartExecute,getPlanFlowInfo,cbLabourPlanEndExecute,getMbidFileListInfo,getPlanInfo,getFinanceListApp,cbLabourTenderEndExecute,getPlanTaskDeatilApp,getIstockMtrlList,cbLabourFileEndExecute,getMqMtrlRequired,getBaseInfoDeatilApp,getMtrlRequiredInfoForSrm2,getMbidPersonListInfo,taskupdateUI,getPlanDeptListInfo,getLabourFileFileDetail,cbMtrlRequiredStartExecute,getPersonNoFromPmsPerson,getMtrlRequiredInfoForSrm,updatePlanGraphicProgress,getPlanDelayItemPagerModelByQuery,getMtrlRequireMtrlDetailAll,getOstockDetail,getLabourPlan,getBaseInfoToPersonelOne,getPlanRectifyCancleGanttInfo,cbPlanRectifyEndExecute,getLabourPlanDetail,getMbidContListInfo,cbPlanStartExecute,getMtrlRequireInfoByCode,updatePlanTaskProgress,getFileListApp,getPlanRectifyChart,getLabourTenderFileDetail,getAllot,getMtenderDetailInfo,cbMQPlanRectifyStartExecute,selMtrlPlanDetailMtrlInfoByIdCount,getPmsChildBySn,purOrderDetailgetMtrlRequireMtrlIds,getMqMtrlRequiredBase,getMbidWsDetailInfo,getMtender,getMqPersonAllotById,getBaseInfoAndRelate,getFileBybaseInfoIdsList,getMtrlPlanDetailGroupByMoreByQuery,getMqMtrlRequireDetailList,purOrderDetailgetMtrlRequireMtrl,selectPlanTaskNotProCodeNullPage,getPlanTaskChart,purOrderDetailgetMtrlRequireInfo,getmTenderFileDetail,getMqPersonAllotProDate,getBaseInfoListApp,getMtrlPlanInfo,cbMtrlPlanEndExecute,getMqPersonApplyRequirePagerModelByQuery,updateMtrlRequireMtrlToHasOrderCountBatch,getFileInfo,getMtrlPlanDetailAll,getPlanInfolistApp,getMlabourTeamDetailListInfo,getMconstructDetails,getMqSizeByQuery,getMbidWsListInfo,getMqMtrlRequireDetailFile,getPlanTaskList,getLabourTender,getLabourFile,updateMtrlRequireMtrlToHasOrderCount,getMtenderRequiredDetail,getPlanRectifyInfo,cbMtrlRequiredEndExecute,cbZSPlanRectifyEndExecute,getLabourTenderWsDetail,getMlabourTeamDetailInfo,getChangeRecordListApp,getMbidInfo,cbPlanRectifyStartExecute,cbMQPlanRectifyEndExecute,getMapBaseInfoByIds,getPlanDelayItemGantt,getLabourFileInfoDetail,getOstock,getBaseInfoById,getMtrlRequiredBase,getLabourTenderRequiredDetail,updatePlanTaskWord,getBaseInfoAll,getMlabourTeamInfo,getMconstructs,getDeptByBaseInfo,getMtrlPlanInfoByCode,getMtrlRequireInfo,getMbidContDetailInfo,getCompanysListApp,updateMqMtrlRequireDetail,getMqMtrlRequireDetailById,getPlanInfoDeatilApp,getMqMtrlRequireInfo,cbMtrlPlanStartExecute,getMtrlRequired,getMtrlRequireMtrlDetailById,updateMqMtrlRequireDetailToHasOrderCountBatch,getMqMtrlRequireDetail,getBaseInfoByProjectCode,updatePersonExit,getmtrlrequireDetailToPurOrderDetail,getPlanGraphicProgressListApp,getChildBySn,getPersonsListApp,getMqPersonApplyById&pid=7292&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1516936717997&version=1.0, cause: message can not send, because channel is closed . url:dubbo://10.20.30.164:21331/com.ys.mqpms.api.IMqPmsApi?application=ysportal-server&codec=dubbo&default.check=false&default.timeout=300000&dubbo=2.5.3&heartbeat=60000&interface=com.ys.mqpms.api.IMqPmsApi&methods=cbPlanEndExecute,purOrderDetailgetMqMtrlRequireDetailIds,getMtrlRequireMtrlForSumForFlow,getZSPlanTaskChart,getIstockInfo,getAllotDetail,cbZSPlanRectifyStartExecute,getPlanFlowInfo,cbLabourPlanEndExecute,getMbidFileListInfo,getPlanInfo,getFinanceListApp,cbLabourTenderEndExecute,getPlanTaskDeatilApp,getIstockMtrlList,cbLabourFileEndExecute,getMqMtrlRequired,getBaseInfoDeatilApp,getMtrlRequiredInfoForSrm2,getMbidPersonListInfo,taskupdateUI,getPlanDeptListInfo,getLabourFileFileDetail,cbMtrlRequiredStartExecute,getPersonNoFromPmsPerson,getMtrlRequiredInfoForSrm,updatePlanGraphicProgress,getPlanDelayItemPagerModelByQuery,getMtrlRequireMtrlDetailAll,getOstockDetail,getLabourPlan,getBaseInfoToPersonelOne,getPlanRectifyCancleGanttInfo,cbPlanRectifyEndExecute,getLabourPlanDetail,getMbidContListInfo,cbPlanStartExecute,getMtrlRequireInfoByCode,updatePlanTaskProgress,getFileListApp,getPlanRectifyChart,getLabourTenderFileDetail,getAllot,getMtenderDetailInfo,cbMQPlanRectifyStartExecute,selMtrlPlanDetailMtrlInfoByIdCount,getPmsChildBySn,purOrderDetailgetMtrlRequireMtrlIds,getMqMtrlRequiredBase,getMbidWsDetailInfo,getMtender,getMqPersonAllotById,getBaseInfoAndRelate,getFileBybaseInfoIdsList,getMtrlPlanDetailGroupByMoreByQuery,getMqMtrlRequireDetailList,purOrderDetailgetMtrlRequireMtrl,selectPlanTaskNotProCodeNullPage,getPlanTaskChart,purOrderDetailgetMtrlRequireInfo,getmTenderFileDetail,getMqPersonAllotProDate,getBaseInfoListApp,getMtrlPlanInfo,cbMtrlPlanEndExecute,getMqPersonApplyRequirePagerModelByQuery,updateMtrlRequireMtrlToHasOrderCountBatch,getFileInfo,getMtrlPlanDetailAll,getPlanInfolistApp,getMlabourTeamDetailListInfo,getMconstructDetails,getMqSizeByQuery,getMbidWsListInfo,getMqMtrlRequireDetailFile,getPlanTaskList,getLabourTender,getLabourFile,updateMtrlRequireMtrlToHasOrderCount,getMtenderRequiredDetail,getPlanRectifyInfo,cbMtrlRequiredEndExecute,cbZSPlanRectifyEndExecute,getLabourTenderWsDetail,getMlabourTeamDetailInfo,getChangeRecordListApp,getMbidInfo,cbPlanRectifyStartExecute,cbMQPlanRectifyEndExecute,getMapBaseInfoByIds,getPlanDelayItemGantt,getLabourFileInfoDetail,getOstock,getBaseInfoById,getMtrlRequiredBase,getLabourTenderRequiredDetail,updatePlanTaskWord,getBaseInfoAll,getMlabourTeamInfo,getMconstructs,getDeptByBaseInfo,getMtrlPlanInfoByCode,getMtrlRequireInfo,getMbidContDetailInfo,getCompanysListApp,updateMqMtrlRequireDetail,getMqMtrlRequireDetailById,getPlanInfoDeatilApp,getMqMtrlRequireInfo,cbMtrlPlanStartExecute,getMtrlRequired,getMtrlRequireMtrlDetailById,updateMqMtrlRequireDetailToHasOrderCountBatch,getMqMtrlRequireDetail,getBaseInfoByProjectCode,updatePersonExit,getmtrlrequireDetailToPurOrderDetail,getPlanGraphicProgressListApp,getChildBySn,getPersonsListApp,getMqPersonApplyById&pid=7292&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1516936717997&version=1.0

       at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:101)

       at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144)

       at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)

       at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)

       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.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48)

       at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)

       at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)

       at com.alibaba.dubbo.common.bytecode.proxy10.getPlanFlowInfo(proxy10.java)

       at com.ys.portal.web.controller.form.MqPersonApplyController.fromflowInfo(MqPersonApplyController.java:60)

       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

       at java.lang.reflect.Method.invoke(Method.java:606)

       at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)

       at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

       at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)

       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)

       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)

       at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)

       at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)

       at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)

       at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)

       at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)

       at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)

       at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829)

       at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at com.ys.portal.web.filter.LoginCheckFilter.doFilterInternal(LoginCheckFilter.java:64)

       at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at com.bizenit.idm.siam.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:155)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at com.bizenit.idm.siam.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:234)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at com.bizenit.idm.siam.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:102)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:119)

       at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:65)

       at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)

       at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:124)

       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)

       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)

       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)

       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)

       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)

       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)

       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

       at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)

       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)

       at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)

       at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)

       at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

       at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

       at java.lang.Thread.run(Thread.java:745)

Caused by: com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://10.20.30.164:21331/com.ys.mqpms.api.IMqPmsApi?application=ysportal-server&codec=dubbo&default.check=false&default.timeout=300000&dubbo=2.5.3&heartbeat=60000&interface=com.ys.mqpms.api.IMqPmsApi&methods=cbPlanEndExecute,purOrderDetailgetMqMtrlRequireDetailIds,getMtrlRequireMtrlForSumForFlow,getZSPlanTaskChart,getIstockInfo,getAllotDetail,cbZSPlanRectifyStartExecute,getPlanFlowInfo,cbLabourPlanEndExecute,getMbidFileListInfo,getPlanInfo,getFinanceListApp,cbLabourTenderEndExecute,getPlanTaskDeatilApp,getIstockMtrlList,cbLabourFileEndExecute,getMqMtrlRequired,getBaseInfoDeatilApp,getMtrlRequiredInfoForSrm2,getMbidPersonListInfo,taskupdateUI,getPlanDeptListInfo,getLabourFileFileDetail,cbMtrlRequiredStartExecute,getPersonNoFromPmsPerson,getMtrlRequiredInfoForSrm,updatePlanGraphicProgress,getPlanDelayItemPagerModelByQuery,getMtrlRequireMtrlDetailAll,getOstockDetail,getLabourPlan,getBaseInfoToPersonelOne,getPlanRectifyCancleGanttInfo,cbPlanRectifyEndExecute,getLabourPlanDetail,getMbidContListInfo,cbPlanStartExecute,getMtrlRequireInfoByCode,updatePlanTaskProgress,getFileListApp,getPlanRectifyChart,getLabourTenderFileDetail,getAllot,getMtenderDetailInfo,cbMQPlanRectifyStartExecute,selMtrlPlanDetailMtrlInfoByIdCount,getPmsChildBySn,purOrderDetailgetMtrlRequireMtrlIds,getMqMtrlRequiredBase,getMbidWsDetailInfo,getMtender,getMqPersonAllotById,getBaseInfoAndRelate,getFileBybaseInfoIdsList,getMtrlPlanDetailGroupByMoreByQuery,getMqMtrlRequireDetailList,purOrderDetailgetMtrlRequireMtrl,selectPlanTaskNotProCodeNullPage,getPlanTaskChart,purOrderDetailgetMtrlRequireInfo,getmTenderFileDetail,getMqPersonAllotProDate,getBaseInfoListApp,getMtrlPlanInfo,cbMtrlPlanEndExecute,getMqPersonApplyRequirePagerModelByQuery,updateMtrlRequireMtrlToHasOrderCountBatch,getFileInfo,getMtrlPlanDetailAll,getPlanInfolistApp,getMlabourTeamDetailListInfo,getMconstructDetails,getMqSizeByQuery,getMbidWsListInfo,getMqMtrlRequireDetailFile,getPlanTaskList,getLabourTender,getLabourFile,updateMtrlRequireMtrlToHasOrderCount,getMtenderRequiredDetail,getPlanRectifyInfo,cbMtrlRequiredEndExecute,cbZSPlanRectifyEndExecute,getLabourTenderWsDetail,getMlabourTeamDetailInfo,getChangeRecordListApp,getMbidInfo,cbPlanRectifyStartExecute,cbMQPlanRectifyEndExecute,getMapBaseInfoByIds,getPlanDelayItemGantt,getLabourFileInfoDetail,getOstock,getBaseInfoById,getMtrlRequiredBase,getLabourTenderRequiredDetail,updatePlanTaskWord,getBaseInfoAll,getMlabourTeamInfo,getMconstructs,getDeptByBaseInfo,getMtrlPlanInfoByCode,getMtrlRequireInfo,getMbidContDetailInfo,getCompanysListApp,updateMqMtrlRequireDetail,getMqMtrlRequireDetailById,getPlanInfoDeatilApp,getMqMtrlRequireInfo,cbMtrlPlanStartExecute,getMtrlRequired,getMtrlRequireMtrlDetailById,updateMqMtrlRequireDetailToHasOrderCountBatch,getMqMtrlRequireDetail,getBaseInfoByProjectCode,updatePersonExit,getmtrlrequireDetailToPurOrderDetail,getPlanGraphicProgressListApp,getChildBySn,getPersonsListApp,getMqPersonApplyById&pid=7292&revision=0.0.1-SNAPSHOT&side=consumer&timestamp=1516936717997&version=1.0

       at com.alibaba.dubbo.remoting.transport.AbstractClient.send(AbstractClient.java:268)

       at com.alibaba.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:51)

       at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.request(HeaderExchangeChannel.java:112)

       at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeClient.request(HeaderExchangeClient.java:91)

       at com.alibaba.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient.request(ReferenceCountExchangeClient.java:81)

       at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:96)

       ... 74 more

 

原因分析

message can not send, because channel is closed   远程方法调用失败,提示通道被关闭,无法发送信息

1. 检查服务提供的配置文件是否正确,配置文件是否加载

dubbo_provider.xml  提供服务的文件

              <dubbo:service interface="com.ys.xxxx.xxxx.xxxx" ref="xxxxImpl"   version="1.0" />

bean.xml  加载 dubbo_provider.xml  配置文件

                <import resource="classpath*:/dubbo_provider.xml" />

2.检查客户端、服务端的超时配置;如果超时时间没有设置,设置为一个较长时间,就可以了

    <dubbo:consumer check="false" timeout="300000" />
    <dubbo:provider timeout="300000" />

3.检查你调用服务所在机器ip地址与你调用端配置的ip地址是否一致,如下红色url地址

dubbo_customer.xml  调用服务的配置

   <dubbo:reference id="xxxx" interface="com.ys.xxxx.xxx.xxxxApi" url="dubbo://10.20.30.164:21331" version="1.0"  />

 

以上是关于bubbo调用Failed to invoke remote method异常解决的主要内容,如果未能解决你的问题,请参考以下文章

添加@ControllerAdvice后报错 Failed to invoke @ExceptionHandler method

dubbo异常: Failed to invoke the method getXXXX in the service 异常解决方案

com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method

R12.2.6 installation failed with - Unable to rename database

解决;R语言使用sqldf库是报错"Failed to connect to database: Error: Access denied for user '..'@

ERROR: Failed to set up Chromium r901912! Set “PUPPETEER_SKIP_DOWNLOAD“ env variable to skip downloa