10 2022 档案
摘要:转自:https://blog.csdn.net/dkfajsldfsdfsd/article/details/90721230 1、参考 多协议:http://dubbo.apache.org/en-us/docs/user/demos/multi-protocols.html 多Registry
阅读全文
摘要:转自:https://blog.csdn.net/qq_36882793/article/details/117366243 一、前言 本系列为个人Dubbo学习笔记衍生篇,是正文篇之外的衍生内容,内容来源于《深度剖析Apache Dubbo 核心技术内幕》, 过程参考官方源码分析文章。仅用于个人笔
阅读全文
摘要:关于Nacos已经展开了两篇文章: 初探Nacos(一)-- 单机模式启动 初探Nacos(二)-- SpringCloud使用Nacos的服务注册与发现 使用Dubbo的同学如果要切换Nacos也很容易,官方已有文档:Dubbo 融合 Nacos 成为注册中心,可直接测试其提供的例子:dubbo-
阅读全文
摘要:一、架构演进 发展演变 1.1 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。适用于小型网站,小型管理系统,将所有功能都部署到一个功能里,简单易用。 缺点 性能扩展比较难 协同开发问题 不利于升
阅读全文
摘要:写在前面 本文在这篇文章 基础上改造进行测试。 dubbo的参数验证基于JSR303规范就是定义了校验注解,错误信息如何提示等的规范,我们只需要使用规定的注解,并声明Filter就可以了。源码。 1:改造rpc-service-api 1.1:引入依赖 1 <dependencies> 2 <!--
阅读全文
摘要:转自:https://www.jianshu.com/p/2feba6cbb799 参考:https://blog.csdn.net/qq_29064815/article/details/103067208 参考:https://blog.csdn.net/weixin_42103620/arti
阅读全文
摘要:一. 自定义过滤器配置: dubbo filter可能是我们使用dubbo时最经常自定义的。通常用作一些公共处理,比如公共的日志打印让代码更简洁,和如上示例的通用异常结果处理等,配置过程如下: 1. 定义过滤器实现org.apache.dubbo.rpc.Filter接口,并在类上增加@Activa
阅读全文
摘要:先上代码 场景 在Springboot中使用全局统一处理异常进行捕获,平时能够正常使用,但是发现异常从dubbo调用返回以后,却进了RuntimeException的处理方法,如果没有就会直接进Exception的处理方法;于时在报错中找到了一个ExceptionFilter源码如下: 1 # 反正
阅读全文
摘要:背景介绍 因为一次使用mybatis plus @DS 注解实现多数据源切换时,在一个controller中同时操作多个数据源的service方法,为了保证这一组操作下数据的完整性,则需要使用事务@Transaction进行保证,于是乎,粗暴的在controller方法上加上了该注解,原以为可以万事
阅读全文
摘要:@Transactional注解的逻辑是通过动态代理来实现的,而生成这个动态代理类分成了两步:1、向spring容器注册事务相关的切面逻辑2、根据切面逻辑生成动态代理下面围绕这两点来看下Springboot里的实现原理 注册事务切面逻辑 切面逻辑里有三个概念: Pointcut:负责告诉spring
阅读全文
摘要:写在前面 上一篇文章大致介绍了dynamic-datasource的功能,用起来的确很方便,只需要一个@DS注解,加上一些简单的配置即可完成多数据源的切换。究竟是怎么做到的呢,底层是怎么实现呢?带着这个疑问,一起研究了一下源码。 由于框架本身功能点比较多,有很多小功能比如支持spel、正则表达式匹配
阅读全文
摘要:1.概述 讨论Spring的@Primary注解,该注解是框架在3.0版中引入的。 其作用与功能,当有多个相同类型的bean时,使用@Primary来赋予bean更高的优先级。 2.为什么需要@Primary? 在某些情况下,需要注册多个相同类型的bean。 在此示例中,有Employee类型的zh
阅读全文
摘要:转自:https://blog.csdn.net/beichen8641/article/details/104815163 在 Dubbo 中,我们可以通过两种方式引用远程服务。第一种是使用服务直连的方式引用服务,第二种方式是基于注册中心进行引用。服务直连的方式仅适合在调试或测试服务的场景下使用,
阅读全文
摘要:转自:https://zhuanlan.zhihu.com/p/139793065 Maven不仅支持单模块项目同时还支持多模块项目,这里将介绍在多模块Maven项目中广泛应用的聚合、继承等概念,并就如何通过裁剪反应堆来加快构建过程进行介绍 聚合 对于复杂的Maven项目,一般建议采用多模块的方式来
阅读全文
摘要:转自:https://blog.csdn.net/m0_37298252/article/details/122355631 最近两篇文章主要分析了ConfigFileApplicationListener对事件ApplicationEnvironmentPreparedEvent的处理,包括Env
阅读全文
摘要:转自:https://www.cnblogs.com/throwable/p/9417827.html 前提 前面写过一篇关于Environment属性加载的源码分析和扩展,里面提到属性的占位符解析和类型转换是相对复杂的,这篇文章就是要分析和解读这两个复杂的问题。关于这两个问题,选用一个比较复杂的参
阅读全文
摘要:spring boot配置文件加载是通过ConfigFileApplicationListener监听器完成的。先来看一下该类的注释: * {@link EnvironmentPostProcessor} that configures the context environment by load
阅读全文
摘要:配置绑定 Spring Boot提供注解@ConfigurationProperties实现从配置文件自动注入对应的配置值到对应的Bean对象。 认识松散绑定 看下面的ServerConfig类的属性IPAddrEss和配置文件里的Ip_AddRe_S-s 能进行数据绑定 这种绑定会把中划线-、下划
阅读全文
摘要:说完了final,再说说static,怎么修改static修饰的变量呢?我们知道,静态变量是在类的实例化之前就进行了初始化(类的初始化阶段),所以静态变量是跟着类本身走的,跟具体的对象无关,所以我们获取变量就不需要传入对象,直接传入null即可: 1 public class User { 2 pu
阅读全文