会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
张伯雨
Powered by
博客园
博客园
|
首页
|
新随笔
|
联系
|
订阅
|
管理
上一页
1
···
25
26
27
28
29
30
31
32
33
···
37
下一页
2017年8月30日
Instrumentation(3)
摘要: 摘要: Instrumentation 类加载过程 Instrumentation与Transformer Instrumentation与Transformer的关系 Instrumentation接口简介 触发字节码转换的途径 Transformer分类 Transformer调度过程...Instrumentation 类加载过程 Instrumentation与Transfo...
阅读全文
posted @ 2017-08-30 12:34 张伯雨
阅读(910)
评论(0)
推荐(0)
编辑
Instrumentation(1)
摘要: Instrumentation介绍:Java Instrumentation指的是可以用独立于应用程序之外的代理(agent)程序来监测和协助运行在JVM上的应用程序。这种监测和协助包括但不限于获取JVM运行时状态,替换和修改类定义等。 Java SE5中使用JVM TI替代了JVM PI和JVM DI。提供一套代理机制,支持独立于JVM应用程序之外的程序以代理的方式连接和访问JVM。Instru...
阅读全文
posted @ 2017-08-30 12:32 张伯雨
阅读(696)
评论(0)
推荐(0)
编辑
instrument(2)
摘要: 学习了instrument之后试着自己写点东西,上一篇的例子中使用的是asm,毕竟是面向字节码的,api还是比较复杂的。其实有时候的需求很简单,无非就是看下类里的方法啊之类的。javassist是基于源码级别的API比基于字节码的ASM简单。下面就是对使用到的类打印出所有方法的Transformer:[java] view plain copypublic class TestTransforme...
阅读全文
posted @ 2017-08-30 12:32 张伯雨
阅读(287)
评论(0)
推荐(0)
编辑
Dubbo中订阅和通知解析
摘要: Dubbo中关于服务的订阅和通知主要发生在服务提供方暴露服务的过程和服务消费方初始化时候引用服务的过程中。服务引用过程中的订阅和通知在服务消费者初始化的过程中,会有一步是进行服务的引用,具体的代码是在RegistryProtocol的refer方法:12345678910111213141516171819public Invoker refer(Class type, URL url) thr...
阅读全文
posted @ 2017-08-30 12:05 张伯雨
阅读(573)
评论(0)
推荐(0)
编辑
Dubbo中Directory解析
摘要: Directory代表多个Invoker,可以把它看成List,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变更。Cluster将Directory中的多个Invoker伪装成一个Invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。上面是文档上对Directory的解释。Directory接口Directory接口继承了Node接口:1234567publ...
阅读全文
posted @ 2017-08-30 12:04 张伯雨
阅读(948)
评论(0)
推荐(0)
编辑
Dubbo中集群Cluster,负载均衡,容错,路由解析
摘要: Dubbo中的Cluster可以将多个服务提供方伪装成一个提供方,具体也就是将Directory中的多个Invoker伪装成一个Invoker,在伪装的过程中包含了容错的处理,负载均衡的处理和路由的处理。这篇文章介绍下集群相关的东西,开始先对着文档解释下容错模式,负载均衡,路由等概念,然后解析下源码的处理。(稍微有点乱,心情不太好,不适合分析源码。)集群的容错模式Failover Cluster这...
阅读全文
posted @ 2017-08-30 12:03 张伯雨
阅读(425)
评论(0)
推荐(0)
编辑
Dubbo中服务消费者和服务提供者之间的请求和响应过程
摘要: 服务提供者初始化完成之后,对外暴露Exporter。服务消费者初始化完成之后,得到的是Proxy代理,方法调用的时候就是调用代理。服务消费者经过初始化之后,得到的是一个动态代理类,InvokerInvocationHandler,包含MockClusterInvoker,MockClusterInvoker包含一个RegistryDirectory和FailoverClusterInvoker。J...
阅读全文
posted @ 2017-08-30 12:02 张伯雨
阅读(725)
评论(0)
推荐(0)
编辑
Dubbo中消费者初始化的过程解析
摘要: 首先还是Spring碰到dubbo的标签之后,会使用parseCustomElement解析dubbo标签,使用的解析器是dubbo的DubboBeanDefinitionParser,解析完成之后返回BeanDefinition给Spring管理。服务消费者端对应的是ReferenceBean,实现了ApplicationContextAware接口,Spring会在Bean的实例化那一步回调s...
阅读全文
posted @ 2017-08-30 12:00 张伯雨
阅读(2710)
评论(0)
推荐(0)
编辑
Dubbo中编码和解码的解析
摘要: (这里做的解析不是很详细,等到走完整个流程再来解析)Dubbo中编解码的工作由Codec2接口的实现来处理,回想一下第一次接触到Codec2相关的内容是在服务端暴露服务的时候,根据具体的协议去暴露服务的步骤中,在DubboProtocol的createServer方法中:1234567891011private ExchangeServer createServer(URL url) { 。。。 ...
阅读全文
posted @ 2017-08-30 11:59 张伯雨
阅读(718)
评论(0)
推荐(0)
编辑
Dubbo中暴露服务的过程解析
摘要: dubbo暴露服务有两种情况,一种是设置了延迟暴露(比如delay=”5000”),另外一种是没有设置延迟暴露或者延迟设置为-1(delay=”-1”):设置了延迟暴露,dubbo在Spring实例化bean(initializeBean)的时候会对实现了InitializingBean的类进行回调,回调方法是afterPropertySet(),如果设置了延迟暴露,dubbo在这个方法中进行服务...
阅读全文
posted @ 2017-08-30 11:58 张伯雨
阅读(753)
评论(0)
推荐(0)
编辑
上一页
1
···
25
26
27
28
29
30
31
32
33
···
37
下一页