- 博客(20)
- 资源 (3)
- 问答 (19)
- 收藏
- 关注
原创 Zookeeper-03-集群
已经半夜了,幻想着如果QJ马银霜,她会不会报警集群中的角色1.leader:用来写数据,通过选举产生2.follower:用于读取数据,如果leader挂了,则有投票权,也可能成为leader3.observer:用于读取数据,没有投票权,也不可能成为leader,也不属于zk中的"半数者",应用场景是当系统业务压力较大的期间(比如电商双11),可以随时增加几个临时的zk节点何时选举leader?1.服务器刚启动的时候2.半数以上的节点无法和leader建立连接选举方式首先每个存活的fol
2021-01-31 22:58:45 121
原创 Zookeeper-02-概念
本文将阐述zk中的一些概念,不会讨论这些概念是具体如何实现的节点节点是zk的最小存储单位,之前说过,zk类似一个文件系统,那么节点就相当于一个文件夹,节点还有子节点,子节点还有子节点节点上有几个重要的属性,分别是1.path:类似文件夹路径,格式是:/node1/node22.childNode:上边的node2就是node1的子节点3.stat:节点状态属性,节点状态里面还包含很多属性,比较重要的就是path所对应的值和事务id(3.1)path所对应的值,就是该节点的值,可以是任意东西,
2021-01-31 18:06:59 821
原创 Zookeeper-01-概述
今天周末,本应该是打英雄联盟的时间,但是没有办法,为了生活,如果没有钱,拿什么养马银霜???一直想买台车,然后将马银霜撞残,这样我就可以顺理成章养她下半辈子了,也不对,她才20几岁,真是个好看的女同事,接下来的一段时间里,先探索一下我并未实战用过的zookeeper,将对zk进行深入研究zookeeper是个什么?zk是分布式协调组件,有点像文件系统,但是没有cd命令,比方说不能使用cd命令进入一个节点,zk可以在分布式系统下处理多个节点之间的协同问题,例如它可以很好的解决下面几个常见的问题1.假设有
2021-01-31 14:51:11 185
原创 Spring-jdbc-ConnectionHolder
该类是对JDBC中Connection对象的封装在spring中需要通过TransactionSynchronizationManager.getResourceMap静态方法获取// key是DataSource实例,value是ConnectionHolder// 调用这个静态方法获取ConnectionHolderMap<Object, Object> resourceMap = TransactionSynchronizationManager.getResourceMap()
2021-01-18 14:41:39 783
原创 Spring-tx-TransactionDefinition/TransactionAttribute
TransactionAttribute继承了TransactionDefinition接口,所以将这两个接口放到一片文章里这两个接口顾名思义,是对@Transaction注解的封装DefaultTransactionAttribute类是这两个接口最重要的实现类,可以通过TransactionAnnotationParser获取...
2021-01-18 11:35:14 283
原创 Spring-tx-TransactionInfo
该类是TransactionAspectSupport类的内部类,有下面几个属性@Nullableprivate final PlatformTransactionManager transactionManager;@Nullableprivate final TransactionAttribute transactionAttribute;private final String joinpointIdentification;@Nullableprivate TransactionS
2021-01-16 14:08:35 572 1
原创 Spring-tx-Propagation枚举类
该枚举类定义了spring的事务传播行为,在TransactionDefinition接口中也有定义,其实引用的就是该接口的属性为了方便测试,需要创建三个类,由于我使用的是hikari数据源,恰好spring boot中有,所以直接使用spring boot的,引入pom文件,即可使用HikarCP,当然也可以去maven仓库搜索HikarCP<dependency> <groupId>org.springframework.boot</groupId>
2021-01-15 09:18:33 324
原创 Spring-tx-@EnableTransactionManagement注解
xml形式的spring配置使用tx标签来开启事务而注解形式的spring配置,则使用@EnableTransactionManagement注解其实本文要说的内容,在该注解的注释当中都有,例如下面这个代码@Componentpublic class Creater1 { @Autowired JdbcTemplate jdbcTemplate; @Transactional(rollbackFor = Exception.class) public void create() {
2021-01-14 16:06:36 429
原创 Spring-tx-TransactionInterceptor类
关于TransactionInterceptor类的解析,将是对spring-tx模块最重要的解析,该类是spring事务模块核心框架代码,为此我费了很大力气,仅以此篇文章,献给我做梦都想睡到的马银霜(虽然她不知道spring是个什么东西),下面开启真的探索源码,而不是网上其他人那种假装探索(贴源码并且翻译注释)第一步:首先,有一个类,类的全限定名是org.springframework.aop.framework.CglibAopProxy,而该类里面有一个内部类,是CglibMethodInvocat
2021-01-14 01:29:34 332
原创 Spring-tx-TransactionAttributeSource接口
该接口用来获取事务相关的配置其实底层就是通过TransactionAnnotationParser接口来实现的,如果了解TransactionAnnotationParser,此接口特别简单方法:getTransactionAttribute@NullableTransactionAttribute getTransactionAttribute(Method method, @Nullable Class<?> targetClass);使用该接口非常重要的实现类Annotatio
2021-01-12 18:26:30 458
原创 Spring-tx-TransactionAnnotationParser接口
事务注解转换器说白了就是该接口的实现会将@Transactional注解转换成TransactionAttribute,该接口只有一个抽象方法@NullableTransactionAttribute parseTransactionAnnotation(AnnotatedElement ae);其中SpringTransactionAnnotationParser类是该接口的实现之一,下面以该类作为演示import org.springframework.transaction.annota
2021-01-12 16:51:53 392 1
原创 Spring-beans-ListableBeanFactory/AutowireCapableBeanFactory/HierarchicalBeanFactory
怀念二抱三抱
2021-01-07 15:00:19 279
原创 Spring-AbstractRefreshableApplicationContext
该类属于ApplicationContext子类,所以是一个BeanFactory,下面介绍本类中最重要的三个字段属性// @Nullable注解表示该字段允许为空// 是否允许覆盖相同名称的对象// 比如有一个类A,注册到容器中的名字叫m// 有有一个类B,注册到容器中的名字也叫m// 如果该字段=true,则B将会覆盖掉A@Nullableprivate Boolean allowBeanDefinitionOverriding;// 如果该字段=true,则允许Bean之间循环依赖@
2021-01-05 11:40:43 275 2
原创 Spring-context-ApplicationContext/AbstractApplicationContext
此方法最大的作用:当我们自己实现容器的时候,用来校验系统变量是否正确当我们自己实现容器的时候,如果重写了initPropertySources();方法,那么就会体现出prepareRefresh方法的作用源码 /** * Prepare this context for refreshing, setting its startup date and * active flag as well as performing any initialization of property sour
2021-01-05 11:00:11 262
jquery-validate
2016-06-02
想求一段java不关闭流会出现运行异常的代码
2021-07-15
关于Java InputStream的一点疑问
2021-03-19
ArrayBlockingQueue在put的时候是不是不允许其他线程take?
2020-11-05
请问IntellJ如何删除一个类的方法时,其他引用该方法的类自动报错?
2020-10-28
关于java队列中的add与offer的疑问
2020-10-21
请问IntelliJ IDEA如何关闭自动保存功能??
2020-09-10
想请教有多年编程经验的朋友帮忙分析一下QQ三国摊位查询器原理
2020-07-24
本人初学C,想请教关于结构体或者char类型指针的问题
2020-03-29
C++初学者,一个关于内存读取顺序的疑惑
2020-01-15
关于spring中的@Transactional注解,求大佬帮帮忙解惑
2019-10-23
JAVA中Thread.yield方法的一个疑问,求大神帮忙解惑
2019-08-29
Spring Security登录成功之后,按浏览器回退键报错,求大佬帮忙
2019-08-08
JAVA并发编程中Volatile的问题,来高手来大佬?
2018-07-23
SpringMVC中的model是什么?下面这段代码中有用到model吗?求大神指点
2018-05-17
求助大佬,关于eclipse自动格式化代码 save action的问题
2018-04-28
JAVA在云服务器上发送http请求报错,跪求大神,小弟熬夜加班不容易啊
2018-01-25
关于Spring中的ConfigurableApplicationContext的问题
2017-12-27
关于SpringMVC的ContextLoader类中的一个疑问
2017-12-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人