spring

一个 Bug 给公司带来20000多损失

最近连续两个月代码出问题,给公司带来了损失,第一次是2000多,第二次直接20000多,这里来做一次总结。 问题 咱们的发布流程是 测试->预发->生产,这样子三个环境,代码到生产环境的时候会检查是否到预发环境。出问题的是Spring的一个定时任务,改了一个和钱有关的比例后按照流程发布上线,过了几天发现有些金额不对,排查后发现多了一个环境[预发2],这个环境和生产环境是共用数据库的,这个环境是为了一些需要生产数据的测试,但是这个当时没人维护了,导致代码落后生产,定时任务执行了原来的逻辑…

Spring Scheduled 三种定时方式

前面出了 一个20000+元的 Bug ,现在来认真的看看 Spring Schedule 是如何处理定时任务的。 Spring Schedule 配置时间的三种方式 fixRate: 间隔时间,会根据首次执行时间预先安排固定的时间,错过立即执行 fixDelay: 间隔时间,上次结束时间后多少间隔后执行 cron: 指定具体时间,错过立即执行 fixRate 运行方式 fixRate 是会根据开始时间预先安排一系列的固定时间点,如果错过了安排的时间点,则立即执行,否则等待下一个执行时间点,如下图…

Spring Data Jpa 多数据源选择无效

有个项目用的 Spring Data Jpa ,里面需要多数据源来做分库,正常流程是拦截器拿出用户信息,然后把分库信息设置到 ThreadLocal 里,后面使用就没问题了。但最近遇到个问题,在 Service 层重新分库信息居然没用,依然会使用首次获取到的数据库连接。 项目里其实有类似的用发,同一个线程重新设置了分库信息也依然可以正确选中,直接使用 JdbcTemplate 查询也没问题,So,到底什么问题呢? 还是对这套东西不熟悉, OpenEntityManagerInViewInterc…

Spring Cloud Stream 初尝

公司里目前用的是RocketMQ,用的过程中遇到一些问题,逐渐将一些业务转到 kafka 上,正好目前项目是spring boot项目,所以就来试试 spring cloud stream,本地环境有 rabbitmq,所以使用它了。 依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifa…

spring transaction不生效的一些原因

同一个类中一个方法调用的另一个有事务的方法 在spring的声明式注解中,如果直接调用的方法不包含 Transactional 注解,那么即使这个方法里面调用的其他方法包含注解,那么事务也是不会生效的,例如下面的这段代码: class AImpl implements A { @Override public void update() { doSomething(); } @Transactional @Override …

Mybatis example

这篇文章主要是一个基本的例子,分为两个部分, mybatis独立的配置 和 mybatis-spring配置 项目的最终地址在这里: https://github.com/shellj/mybatis-example Mybatis单独的配置 根据官方的例子进行配置 http://www.mybatis.org/mybatis-3/zh/getting-started.html 新建maven项目 添加依赖,目前需要的依赖包如下: <dependencies> …

加载更多博文
未找到任何结果