自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 &gt;= #{statisticalTimeBegin} and create_time &lt; #{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关注的人

提示
确定要删除当前文章?
取消 删除