【知识库】--dubbo SPI 动态扩展点之 buildInvokerChain 责任链 构建(267)
来源:互联网 发布:狗狗长跳蚤怎么办 知乎 编辑:程序博客网 时间:2024/05/17 20:22
分析构建责任链代码
private static <T> Invoker<T> buildInvokerChain(final Invoker<T> invoker, String key, String group) { Invoker<T> last = invoker; List<Filter> filters = ExtensionLoader.getExtensionLoader(Filter.class).getActivateExtension(invoker.getUrl(), key, group); if (filters.size() > 0) { for (int i = filters.size() - 1; i >= 0; i --) { final Filter filter = filters.get(i); final Invoker<T> next = last; last = new Invoker<T>() { public Class<T> getInterface() { return invoker.getInterface(); } public URL getUrl() { return invoker.getUrl(); } public boolean isAvailable() { return invoker.isAvailable(); } public Result invoke(Invocation invocation) throws RpcException { return filter.invoke(next, invocation); } public void destroy() { invoker.destroy(); } @Override public String toString() { return invoker.toString(); } }; } } return last;}
阅读全文
0 0
- 【知识库】--dubbo SPI 动态扩展点之 buildInvokerChain 责任链 构建(267)
- 【知识库】--dubbo SPI 动态扩展点之getAdaptiveExtension()触发调用链(267)
- dubbo基于spi扩展
- dubbo-spi扩展一
- dubbo-spi扩展二
- Dubbo源码解析-Dubbo微内核实现(SPI扩展)
- 【知识库】--spring ApplicationContext 扩展起始点-prepareBeanFactory-registerResolvableDependency(241)
- dubbo之SPI解析
- dubbo学习笔记 九 dubbo-common之动态扩展extension
- 知识库构建相关技术前沿动态(健康管理领域)
- dubbo扩展点
- Dubbo中SPI扩展机制解析
- 深入dubbo之ExtensionLoader,灵活的扩展点加载机制
- dubbo源码之SPI注解
- (未完成)Dubbo源码分析(七):Dubbo内核实现之基于SPI思想Dubbo内核实现
- 带你阅读dubbo源码之通过SPI装载扩展(一)
- dubbo extension扩展点 源代码
- Dubbo/Dubbox的服务暴露(二)-扩展点机制
- sophix热修复笔记
- WINDOW环境下,VS与Lua脚本的关联
- mysql 主从复制 双主从复制原理 防止主键重复问题(必看)
- 移动游戏市场的快速成长
- Salesforce Login By Mobile
- 【知识库】--dubbo SPI 动态扩展点之 buildInvokerChain 责任链 构建(267)
- 按键驱动程序设计---混杂设备、中断分层处理、工作队列、阻塞型驱动
- 欢迎使用CSDN-markdown编辑器
- Python之阿姆斯特朗数
- asp.net中四种文件下载方法
- 开发工具——日志Timber的使用
- FeatureLayer的增删改查,编辑要素以及添加shape操作
- ShellCode转换为JavaScript支持的形式代码
- HDU 2612 Find a way(BFS)