目录 GlobalTransactionScanner 继承AbstractAutoProxyCreator 实现InitializingBean接口 写在最后 以AT为例,我们使用Seata时只需要在全局事务的方法上加上@GlobalTransactional,就开启了全局事务的支持.那么Seata的底层到底是怎么实现的呢? 首先我们知道,Seata也是一个SpringBoot项目,如果对Seata源码无从下手,那么不妨从Spring切入: GlobalTransactionScanner 在…
github, seata vergilyn seata-fork seata.io zh-cn docs (PS. 随缘看心情写,坚持不了几天.文章还是写的超级的烂,排版也奇差无比~~~~ 脑壳疼~~~) 1. 相关知识 netty netty多线程模型:Reactor模型 protobuf(Google Protocol Buffers) "在以不同语言编写并在不同平台上运行的应用程序之间交换数据时,Protobuf 编码可提高效率." 个人也没有去大致了解过,只是因为启动seat…
撸Seata源码 2020年12月31日晚23点30分,我发了2020年的最后一个朋友圈:假期吃透Seata源码,有组队的吗? 不少小伙伴都来点赞了, 其中也包括Seata项目的发起人--季敏大佬哦! 点赞部分截图如下. 既然说了,就要行动,这不元旦假期我就在家死磕了两天Seata源码.从主体脉络上理清了Seata源码的结构和主要的框架代码.个人感觉还是比较清晰和易懂的.后续再发文为小伙伴们详细介绍吧. 节后,我也要和猫大人一起发力合著书籍了,希望尽快出版,这本书的内容是相当硬核的. 接下来,晒…
定义: 指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象.不需要知道任何创建的细节,不调用构造函数适用场景: 类初始化的时候消耗较多资源 new产生的对象需要非常繁琐的过程 构造函数比较复杂 循环体中产生大量对象 详解: 接下来我们分下面几部分讲解: 原型模式的核心 深克隆和浅克隆 JDK源码分析 1.原型模式的核心 其实很简单,就是实现Cloneable接口,然后重写clone()方法.上面我们已经说过 ,当你在上面的适用场景中的时候,按照我们平常的办法来说肯定是直接new对象出…
Standalone session 模式启动流程 https://t.zsxq.com/EemAEIi 博客 1.Flink 从0到1学习 -- Apache Flink 介绍 2.Flink 从0到1学习 -- Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门 3.Flink 从0到1学习 -- Flink 配置文件详解 4.Flink 从0到1学习 -- Data Source 介绍 5.Flink 从0到1学习 -- 如何自定义 Data Source ? 6.Flin…
一.概述 建造者模式的定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象,所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的Test结合起来得到的. 所以,如果我们在写代码时,某个复杂的类有多种初始化形式或者初始化过程及其繁琐,并且还对应多个复杂的子类(总之就是构造起来很麻烦),我们就可以用建造者模式,将该类和该类的构造过程解耦! 1.1…
本文基于JDK-8u261源码分析 本篇文章为AQS系列文的第二篇,前文请看:[传送门] 第一篇:AQS源码深入分析之独占模式-ReentrantLock锁特性详解 1 Semaphore概览 共享模式就是有多个线程可以同时拿到锁资源,共享模式用Semaphore来举例,其与ReentrantLock的结构类似,也有公平和非公平两种模式: 1 public class Semaphore implements Serializable { 2 //... 3 4 private final Sy…
成品直播源码,Flutter 夜间模式 全局字体 import 'package:flutter/material.dart';import 'package:flutter_widget/router/applicationRouterGradual.dart';import 'package:flutter_widget/router/applicationRouterSlide.dart';import 'package:flutter_widget/widget/layout.dart'…
最近在使用Spring Cloud整合分布式事务seata,项目启动之后,控制台一直报错: can not get cluster name in registry config 'service.vgroupMapping.nacos-provide-order-seata-service-group', please make sure registry config correct can not get cluster name in registry config 'service.v…
一.模板方法模式定义 模板方法模式定义: defines the skeleton of an algorithm in a method, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. 定义一个方法操作算法的框架(骨架结构),而将一些步骤延迟…