![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术笔记
cod_sloth_ac
沧海一栗
展开
-
service内部方法间相互调用,事务不生效解决方案
service内部方法间相互调用,事务不生效解决方案同一个service内部相互调用,事务失效问题解分析:在一个Service内部,事务方法之间的嵌套调用,普通方法和事务方法之间的嵌套调用,都不会开启新的事务。 因为spring采用动态代理机制来实现事务控制,而动态代理最终都是要调用原始对象的,而直接使用原始对象在去调用方法时,是不会再触发代理的。解决方案:1、把方法B的逻辑放到另外一个service或者dao,然后把这个service或者dao通过@Autowired注入到方法A的bean里面,这原创 2020-11-13 15:57:49 · 3538 阅读 · 0 评论 -
SpringBoot自定义starter及自动配置
自定义starter自定义starter条件自定义spring boot starter创建maven项目定义Service服务类定义配置类创建自动化配置类添加spring.factoriesstarter项目使用SpringBoot的核心就是自动配置,而支持自动配置的是一个个starter项目。除了官方已有的starter,用户自己也可以根据规则自定义自己的starter项目。自定义starter条件自动化配置需满足以下条件:根据条件检查classpath下对应的类,也就是说需要提供对应可检查的转载 2020-06-28 12:36:41 · 242 阅读 · 0 评论 -
分布式服务限流实战
接口限流总结一、限流的作用二、为什么要分布式限流三、限流的算法1、固定窗口计数器算法2、滑动窗口计数器算法3、漏桶算法4、令牌桶算法四、代码实现1、脚本编写2、执行限流3、开发中遇到的问题1)Lua 变量格式2)Redis 入参3)Time 命令4)潜在的隐患一、限流的作用由于 API 接口无法控制调用方的行为,因此当遇到瞬时请求量激增时,会导致接口占用过多服务器资源,使得其他请求响应速度降低或是超时,更有甚者可能导致服务器宕机。限流 (Ratelimiting) 指对应用服务的请求进行限制,例如某一转载 2020-06-28 12:03:00 · 142 阅读 · 0 评论