随笔分类 - java
摘要:自定义 starter 应用场景在日常开发中,经常会有一些独立于业务的公共模块,如果多个工程中都可以复用这个公共模块的话,不需要手动拷贝到工程中,我们将公共的模块封装成一个个starter,复用的时候直接引入依赖即可,springboot为我们完成自动装配。比如我们可以封装自己的log-starte
阅读全文
摘要:Spring Boot 自动扫描包的时候,只会扫描自己模块下的类,如果我们想管理的类不在启动类的包路径下怎么办,也就是我们怎么管理第三方包的类? 比如想管理test包下面的HelloWord类 有人会说,把这个类移到demo包下面即可,当然这样是可以的,但如果这个包在三方jar里面,又该怎么办 方式
阅读全文
摘要:一。应用场景 订单成功后,在30分钟内没有支付,自动取消订单 外卖平台发送订餐通知,下单成功后60s给用户推送短信。 如果订单一直处于某一个未完结状态时,及时处理关单,并退还库存 淘宝新建商户一个月内还没上传商品信息,将冻结商铺等…… 上边的这些场景都可以应用延时队列解决。 二。实现方式 2.1 定
阅读全文
摘要:一.什么是事务传播性 大白话讲就是,方法之间互相调用的时候,事务如何传播,比如A()调用B(),B()的事务是和A()共用一个事务(失败一起提交)? 还是新事务(两者事务互不影响)?,还是说B()不需要事务?,这就是事务传播性的意思。 @Transactional() public void met
阅读全文
摘要:1.什么是SPI SPI ,全称为 Service Provider Interface,通常情况下,服务提供方提供接口和实现,调用方进行调用,一般情况下,调用方如果想扩展功能,就要自己实现服务方接口,这时候就需要用到spi技术,比如 dubbo服务中,dubbo自己实现了几种loadblance算
阅读全文
摘要:以下场景是基于mysql数据库,InnoDB的存储引擎。 一.没有添加@Transactional注解 二.方法声明是private或者static 三.没有抛出异常而是try catch了异常 下面这种情况,事务不会回滚 @Transactional public void insertUser(
阅读全文

浙公网安备 33010602011771号