- 博客(8)
- 收藏
- 关注
原创 随笔
/** public class CellChangeLog implements ChangeLog { /** * 保存操作日志 * * @param invocation 目标方法 * @throws Throwable */ @Override public void saveOperateLog(Invocation invocation) throws Throwable { Executor exec.
2020-06-21 23:59:54
156
原创 回传结构(基于观察者模式+spring事件机制)
1、PushEventMessageCallbackHelper——统一回传入口 @Slf4j @Component @Lazy public class PushEventMessageCallbackHelper { @Resource private CallbackMessageContext callbackContext; @Resource private CallbackHandlerContext callbackHandlerContext; .
2020-06-21 23:56:51
386
原创 包裹实时统计sql优化
优化前的sql <select id="realTimeStatistics" resultType="com.fpx.acs.pojo.vo.manage.PackageRealTimeStatisticsVo"> SELECT COUNT( CASE WHEN create_time >= #{statisticalTimeBegin} and create_time < #{statistical
2020-06-19 18:02:18
198
原创 Redis工具类
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.parser.Feature; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springfra...
2020-04-26 11:22:51
116
原创 SpringBoot与RabbitMQ整合
1、定义队列对象 @Data public class QueueProperties { /** * 死信交换器 */ public static final String ARGUMENTS_X_DEAD_LETTER_EXCHANGE = "x-dead-letter-exchange"; /** * 死信路由键 */ ...
2020-04-22 11:26:26
159
原创 mybatis自定义拦截器
知识铺垫 一、拦截器接口: 1、方法: (1)plugin():让mybatis判断,是否要进行拦截,然后决定是否返回拦截对象还是原对象 (2)intercept(Invocation invocation):处理拦截到的对象 2、多个插件plugin()和intercept()方法的执行顺序: 执行完毕所有的plugin方法,再执行每个Intercept方法 二、拦截器注解: 1、注解的...
2020-03-16 17:54:06
1383
原创 Sql执行流程
小demo: public static void main(String[] args) throws Exception { SqlSessionFactory sessionFactory = null; String resource = "mapper.config.xml"; sessionFactory = new SqlSession...
2020-03-12 16:33:37
107
原创 CyclicBarrier原理
一、简介 实现一组线程相互等待,当所有线程都到达某个屏障点后再进行后续的操作 二、类图 Generation :当有parties个线程到达barrier之后,generation就会被更新换代。 三、源码解析 1、构造函数 parties 表示 屏障拦截的线程数; barrierAction 表示 所有线程都到达屏障时 要处理的业务 public CyclicBarrier(int p...
2019-12-19 15:47:54
169
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人