- 博客(15)
- 收藏
- 关注
原创 spring事务的失效
TransactionDefinitio7 种传播行为 int PROPAGATION_REQUIRED = 0; 支持当前事务,如果没有则开启新的事务支持当前事务,如果当前没有事务,就以非事务方式执行支持当前事务, 如果没有事务则会抛出异常。不支持当前事务,如果存在则直接抛出异常嵌套事务。它是已经存在事务的⼀个真正的⼦事务. 潜套事务开始执⾏时, 它将取得⼀个 savepoint. 如果这个嵌套事务失败, 我们将回滚到此 savepoint. 潜套事务是外部事务的⼀部
2022-06-11 22:49:44 1488
原创 事务在Aop中的流程
1.自动加载 spring.factories 的文件加载事务的启动配置类org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration加载类配置DataSourceTransactionManagerAutoConfiguration类图如下并开启事务配置EnableTransactionManagementConfigurationSpringboot 配置文件sp.
2022-05-18 22:04:53 322
原创 mybatis 二级缓存和一级缓存
mybatis 缓存1. 二级缓存二级缓存为可配置 ,配置为true则开启二级缓存, false 则关闭二级缓存mybatis.configuration.cache-enabled=truemapper 接口 以jdk 代理的对象 加载到ioc容器中,当获取sqlSession时,则使用对象类型为CachingExecutor ,默认修饰SimpleExecutor修饰器设计模式,类图如下查询列表时,使用了executor 方法查询。 根据是否开启二级缓存.
2022-04-17 21:38:36 292
原创 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 522
原创 feign 请求客户端是如何工作?
开启入口 @EnableFeignClients1 加载bean 定义@Import(FeignClientsRegistrar.class)FeignClientsRegistrar 实现了ImportBeanDefinitionRegistrar, 重写了registerBeanDefinitions 将有注解@Feign 的类是实现扫描到了 BeanDefinition 容器中。并将FeignClientSpecification (构造函数)也加入其中class Fe..
2021-12-26 16:14:32 368
原创 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 283
原创 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 390 3
原创 redis主从复制与哨兵
1 redis的主从复制 配置复制的方式有以下三种: 配置文件配置slaveof{masterHost}{masterPort}随Redis启动生效。 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生 效 直接使用命令:slaveof{masterHost}{masterPort}生效。slaveof配置都是在从节点发起,这时6379作为主节点命令流程如下: 查看主从复制状态 命令...
2020-12-16 22:27:29 155
原创 rocketmq的搭建和部署
安装本地环境下的安装。只是让本机访问官网下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.7.0/启动nameservernohup sh mqnamesrv >/soft/RocketMQ/rocketmqlogs/mqnamesrv.log 2>&1 &日志地址:/soft/RocketMQ/rocketmqlogs/mqnamesrv.log启动brokern...
2020-06-04 16:53:40 198
原创 队列同步器(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 286
原创 mysql的数据同步
数据同步数据同步的原理:主服务器对表操作生成日志文件,从服务器拿到日志在对表进行操作主机为window下从机为linux下配置主服务器(主)1,编辑数据库配置文件的my.cnf或my.ini文件(视窗),一般在的/ etc /目录下。在[mysqld]的下面加入下面代码:log-bin=mysql-binserver-id=1innodb_flush_log_a...
2018-12-03 22:27:11 178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人