- 博客(15)
- 收藏
- 关注
原创 spring事务的失效
TransactionDefinitio 7 种传播行为 int PROPAGATION_REQUIRED = 0; 支持当前事务,如果没有则开启新的事务支持当前事务,如果当前没有事务,就以非事务方式执行支持当前事务, 如果没有事务则会抛出异常。不支持当前事务,如果存在则直接抛出异常嵌套事务。它是已经存在事务的⼀个真正的⼦事务. 潜套事务开始执⾏时, 它将取得⼀个 savepoint. 如果这个嵌套事务失败, 我们将回滚到此 savepoint. 潜套事务是外部事务的⼀部
2022-06-11 22:49:44
1598
原创 事务在Aop中的流程
1.自动加载 spring.factories 的文件 加载事务的启动配置类 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration 加载类配置 DataSourceTransactionManagerAutoConfiguration 类图如下 并开启事务配置 EnableTransactionManagementConfiguration Springboot 配置文件 sp.
2022-05-18 22:04:53
361
原创 mybatis 二级缓存和一级缓存
mybatis 缓存 1. 二级缓存 二级缓存为可配置 ,配置为true则开启二级缓存, false 则关闭二级缓存 mybatis.configuration.cache-enabled=true mapper 接口 以jdk 代理的对象 加载到ioc容器中,当获取sqlSession时,则使用对象类型为CachingExecutor ,默认修饰SimpleExecutor 修饰器设计模式,类图如下 查询列表时,使用了executor 方法查询。 根据是否开启二级缓存.
2022-04-17 21:38:36
330
原创 web容器初始化和跨域的解决
SpringApplication.class 设置初始化 public SpringApplication(ResourceLoader resourceLoader, Class<?>... primarySources) { this.resourceLoader = resourceLoader; Assert.notNull(primarySources, "PrimarySources must not be null"); this.primarySources =.
2022-01-09 17:57:38
582
原创 feign 请求客户端是如何工作?
开启入口 @EnableFeignClients 1 加载bean 定义 @Import(FeignClientsRegistrar.class) FeignClientsRegistrar 实现了ImportBeanDefinitionRegistrar, 重写了registerBeanDefinitions 将有注解@Feign 的类是实现扫描到了 BeanDefinition 容器中。并将FeignClientSpecification (构造函数)也加入其中 class Fe..
2021-12-26 16:14:32
414
原创 Mybatis注入ioc后是如何执行事务?以及分页插件是如何执行?
1. 事务 mybatis的自动配置类中 生成sqlSessionTemplate对象注入到容器中 使用到jdk的代理。并将代理对象放入 SqlSessionTemplate 中。 以下SqlSession 的方法 public interface SqlSession extends Closeable { <T> T selectOne(String statement); <T> T selectOne(String statem...
2021-12-12 21:37:11
316
原创 Kafka的搭建和使用
安装 下载地址: https://archive.apache.org/dist/kafka/ zookeeper下载地址 http://archive.apache.org/dist/zookeeper/ 复制kafka server.properties复制三份 分别命名 server1.properties, server2.properties, server3.properties 分别更改配置broker.id=0 broker集群要不同 listeners=PL...
2021-07-05 22:48:25
467
3
原创 redis主从复制与哨兵
1 redis的主从复制 配置复制的方式有以下三种: 配置文件配置slaveof{masterHost}{masterPort}随Redis启动生效。 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生 效 直接使用命令:slaveof{masterHost}{masterPort}生效。 slaveof配置都是在从节点发起,这时6379作为主节点 命令流程如下: 查看主从复制状态 命令...
2020-12-16 22:27:29
191
原创 rocketmq的搭建和部署
安装 本地环境下的安装。只是让本机访问 官网下载地址: http://rocketmq.apache.org/release_notes/release-notes-4.7.0/ 启动nameserver nohup sh mqnamesrv >/soft/RocketMQ/rocketmqlogs/mqnamesrv.log 2>&1 & 日志地址:/soft/RocketMQ/rocketmqlogs/mqnamesrv.log 启动broker n...
2020-06-04 16:53:40
238
原创 队列同步器(AQS)
aqs 同步队列的是实现。 Lock lock = new ReentrantLock(); lock.lock(); lock.unlock(); 首先: lock 加锁的时时序图 线程A , 线程B 争抢锁, 总有一个线程能正确成功。 并将锁的次数标志 State= +1 , State标识锁的次数。 并成功释放执行 unlock() ,将 State 设置位0; 第一步: final void lock() { if (compareAndSetSta...
2020-06-03 22:54:06
327
原创 mysql的数据同步
数据同步 数据同步的原理:主服务器对表操作生成日志文件,从服务器拿到日志在对表进行操作 主机为window下 从机为linux下 配置主服务器(主) 1,编辑数据库配置文件的my.cnf或my.ini文件(视窗),一般在的/ etc /目录下。 在[mysqld]的下面加入下面代码: log-bin=mysql-bin server-id=1 innodb_flush_log_a...
2018-12-03 22:27:11
208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅