java
文章平均质量分 79
@_大海
这个作者很懒,什么都没留下…
展开
-
缓存与数据库一致性问题
缓存和数据库数据不一致问题原创 2022-11-22 22:31:24 · 402 阅读 · 1 评论 -
spring事务的失效
TransactionDefinitio7 种传播行为 int PROPAGATION_REQUIRED = 0; 支持当前事务,如果没有则开启新的事务支持当前事务,如果当前没有事务,就以非事务方式执行支持当前事务, 如果没有事务则会抛出异常。不支持当前事务,如果存在则直接抛出异常嵌套事务。它是已经存在事务的⼀个真正的⼦事务. 潜套事务开始执⾏时, 它将取得⼀个 savepoint. 如果这个嵌套事务失败, 我们将回滚到此 savepoint. 潜套事务是外部事务的⼀部原创 2022-06-11 22:49:44 · 1462 阅读 · 0 评论 -
事务在Aop中的流程
1.自动加载 spring.factories 的文件加载事务的启动配置类org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration加载类配置DataSourceTransactionManagerAutoConfiguration类图如下并开启事务配置EnableTransactionManagementConfigurationSpringboot 配置文件sp.原创 2022-05-18 22:04:53 · 314 阅读 · 0 评论 -
mybatis 二级缓存和一级缓存
mybatis 缓存1. 二级缓存二级缓存为可配置 ,配置为true则开启二级缓存, false 则关闭二级缓存mybatis.configuration.cache-enabled=truemapper 接口 以jdk 代理的对象 加载到ioc容器中,当获取sqlSession时,则使用对象类型为CachingExecutor ,默认修饰SimpleExecutor修饰器设计模式,类图如下查询列表时,使用了executor 方法查询。 根据是否开启二级缓存.原创 2022-04-17 21:38:36 · 283 阅读 · 0 评论 -
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 · 512 阅读 · 0 评论 -
feign 请求客户端是如何工作?
开启入口 @EnableFeignClients1 加载bean 定义@Import(FeignClientsRegistrar.class)FeignClientsRegistrar 实现了ImportBeanDefinitionRegistrar, 重写了registerBeanDefinitions 将有注解@Feign 的类是实现扫描到了 BeanDefinition 容器中。并将FeignClientSpecification (构造函数)也加入其中class Fe..原创 2021-12-26 16:14:32 · 361 阅读 · 0 评论 -
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 · 274 阅读 · 0 评论 -
Springboot2是如何将mybatis mapper注入ioc
mybatis mapper 注入ioc原创 2021-12-04 23:23:55 · 1057 阅读 · 0 评论 -
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 · 379 阅读 · 3 评论 -
redis主从复制与哨兵
1 redis的主从复制 配置复制的方式有以下三种: 配置文件配置slaveof{masterHost}{masterPort}随Redis启动生效。 在redis-server启动命令后加入--slaveof{masterHost}{masterPort}生 效 直接使用命令:slaveof{masterHost}{masterPort}生效。slaveof配置都是在从节点发起,这时6379作为主节点命令流程如下: 查看主从复制状态 命令...原创 2020-12-16 22:27:29 · 150 阅读 · 0 评论 -
SSO 和oauth2
sso多系统间的登陆 oAuht2的身份认证sso多系统间的登陆流程图原创 2020-07-22 22:34:53 · 1006 阅读 · 0 评论 -
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 · 190 阅读 · 0 评论 -
队列同步器(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 · 276 阅读 · 0 评论