当前位置: 首页 > news >正文

外贸网站怎么做推广seo岗位工作内容

外贸网站怎么做推广,seo岗位工作内容,php网站搭建教程,做代售机票网站程序1 Dubbo服务消费端远程调用过程概述 (1)当消费方调用远程服务的方法时,会被InvokerInvocationHandler拦截,执行其invoke()方法,创建RpcInvocation对象; (2)接着会选择远程调用的负…

1 Dubbo服务消费端远程调用过程概述

(1)当消费方调用远程服务的方法时,会被InvokerInvocationHandler拦截,执行其invoke()方法,创建RpcInvocation对象;

(2)接着会选择远程调用的负载均衡策略;

(3)最后执行DubboInvoker的doInvoke()方法发起远程调用。

2 消费端远程调用执行入口

服务消费端启动时,会为需要调用的远程服务类创建代理类(通过ReferenceConfig的get()方法),其中代理类的方法拦截器为InvokerInvocationHandler。代码如下所示。

    public <T> T getProxy(Invoker<T> invoker, Class<?>[] interfaces) {try {return (T) Proxy.getProxy(interfaces).newInstance(new InvokerInvocationHandler(invoker));} catch (Throwable fromJavassist) {// try fall back to JDK proxy factorytry {T proxy = jdkProxyFactory.getProxy(invoker, interfaces);logger.error(PROXY_FAILED, "", "", "Failed to generate proxy by Javassist failed. Fallback to use JDK proxy success. " +"Interfaces: " + Arrays.toString(interfaces), fromJavassist);return proxy;} catch (Throwable fromJdk) {logger.error(PROXY_FAILED, "", "", "Failed to generate proxy by Javassist failed. Fallback to use JDK proxy is also failed. " +"Interfaces: " + Arrays.toString(interfaces) + " Javassist Error.", fromJavassist);logger.error(PROXY_FAILED, "", "", "Failed to generate proxy by Javassist failed. Fallback to use JDK proxy is also failed. " +"Interfaces: " + Arrays.toString(interfaces) + " JDK Error.", fromJdk);throw fromJavassist;}}}

所以,当消费方调用远程服务的方法时,会被InvokerInvocationHandler拦截,执行其invoke()方法。其中method为调用的方法,args为参数。此处创建的RpcInvocation对象会一直传递下去,直到发起远程调用。invoke()方法代码如下所示。

    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {if (method.getDeclaringClass() == Object.class) {return method.invoke(invoker, args);}String methodName = method.getName();Class<?>[] parameterTypes = method.getParameterTypes();if (parameterTypes.length == 0) {if ("toString".equals(methodName)) {return invoker.toString();} else if ("$destroy".equals(methodName)) {invoker.destroy();return null;} else if ("hashCode".equals(methodName)) {return invoker.hashCode();}} else if (parameterTypes.length == 1 && "equals".equals(methodName)) {return invoker.equals(args[0]);}RpcInvocation rpcInvocation = new RpcInvocation(serviceModel, method.getName(), invoker.getInterface().getName(), protocolServiceKey, method.getParameterTypes(), args);if (serviceModel instanceof ConsumerModel) {rpcInvocation.put(Constants.CONSUMER_MODEL, serviceModel);rpcInvocation.put(Constants.METHOD_MODEL, ((ConsumerModel) serviceModel).getMethodModel(method));}return InvocationUtil.invoke(invoker, rpcInvocation);}

http://www.yayakq.cn/news/74234/

相关文章:

  • 上海整站seo苏州建网站收费
  • 闲鱼钓鱼网站怎么制作建筑工程网图
  • 仿网站模板网站开发主管岗位职责
  • 关于营销型网站建设的建议烟台建设集团网站
  • 曹县建设局网站wordpress 粉丝
  • 东莞建工集团企业网站外资公司注册
  • 做外贸哪些网站可以发布产品ps网站首页设计图
  • 电子商务网站调研报告中铁建设集团有限公司总部在哪
  • 上海市网站seo公司长沙公司网站建设
  • 小型培训机构网站开发毕业设计企业邮箱注册需要什么
  • 网站qq显示未启用用tomcat做网站目录
  • 邢台做网站的公司有那个怎么用自己的网站做链轮
  • 网站建设综合实训设计报告百度提交入口网址是指在哪里
  • 免费的seo优化seo推广培训学费
  • 用eclipse做jsp网站网站写好了怎么做后台管理
  • 网站构成的作用广州企业网
  • 网页做好怎么变成网站免费分销平台有哪些
  • 网站建设学生选课课程设计报告建材建设网站
  • 网站制作是怎样做的wordpress 安装七牛
  • 网站建设的技术路线wordpress 命令行
  • 做室内设计兼职的网站微信管理办法
  • aspnet网站开发书微营销课程
  • 一个虚拟主机可以放几个网站保定哪里有做网站的
  • 海洋网站建设公司秦皇岛做网站的公司
  • 花都企业网站建设制作微信公众号网站开发
  • 梦幻创意晋城网站建设新媒体营销是干什么的
  • 网站搭建的流程51源码网
  • dw如何在网站做弹窗无锡祥搜做网站推广
  • 响应式设计网站案例wordpress加入pdf
  • 做影视网站挣钱吗钢管网站建设