自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 redis过期事件回调案例一

需求:任务下发后,在规定时间内必须处理,否则将从任务列表从新下发,再次下发。假设现有10个可处理任务,有下级单位领取任务,甲单位领取后,任务数10-1=9。则任务回归未下发状态、总结有两种实现方案,第二种参考之前网上学习过的一个订单超时未支付的解决方案,刚好解决本次需求。如果有类似场景,可以稍加调整套用,推荐第二种。1、定时任务轮询,规定时间内验证任务状态是否为已完成或已终止。对该key绑定过期事件回调,执行回调方法。2、采用redis ,key有效期回调事件实现。Redis中配置开启过期回调监听。

2022-11-20 14:36:10 1559 1

原创 redis AOF和RDB区别

redis AOF和RDB区别

2022-11-19 20:50:02 174

原创 如何在静态调用的工具类中注入Spring管理的对象

假设有这么一个静态方法public Class DbUtil{ public static int getId(){ return 0; }}我们通常使用IdUtil.getId();也就是类名.方法()调用类的静态方法。但是!使用这种方式spring容器其实是没有办法把对它的对象注入到这个类当中的。那么怎么在静态调用的工具类中注入Spring管理的对象呢?在下图的Dbutil中,我们注入了一个SqlSessionTemplate,而且是私有的。..

2022-04-17 22:36:44 1470

原创 局域网设备搜索(基于数据报套接字)

import udpntcp.clink.net.qiujuer.clink.util.ByteUtils;import udpntcp.constants.UDPConstants;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.nio.ByteBuffer;import java.util.UUID;public class UDPServerProvider { privat..

2022-04-10 14:29:44 1010

原创 设计模式-动态指定消息通知策略(二)

基于《设计模式-使用策略模式+泛型 改造消息通知中心(一)》动态指定模板业务前置条件:持久化存储消息模板,消息模板可配置化,并且消息模板中记录改模板使用消息策略的类型。例如短信是1,微信模板消息是2。。。。具体怎么设计跟据业务实际情况来改造如下:模拟代码Strategy抽象策略接口中增加判断模板类型的方法match/** * 抽象策略角色 * @param <T> */public interface Strategy<T> { /**

2022-03-26 23:29:25 316

原创 设计模式-使用策略模式+泛型 改造消息通知中心(一)

前段时间负责一个智能化采购平台集成微信二次开发,其中涉及到微信模板消息的发送。当时系统中已经存在一个通知中心的服务,涉及站内信、阿里云短信、邮箱等消息发送,当然还要消息模板的维护。既然都是消息发送,那肯定就是将这个功能和之前的消息发送类型放到一起。于是开始调试功能,找到当时消息发送的远程接口,阅读上一任同事的代码。看完后,可以说几乎是惨不忍睹。不知道是那么copy过来的代码,没用的片段都没删掉。一个方法几百行。无论是扩展性,还是代码的可读性都非常糟糕。刚好当时时间比较充足,于是决定对主体结构进行重构,至于细

2022-03-26 22:51:09 1535

原创 EasyExcel导出动态表头处理

以前做导出功能,表头和数据都是固定的。使用EasyExcel实体类上注解的方式就是。比如这样@Getter@Setter@EqualsAndHashCodepublic class DemoData { @ExcelProperty("姓名") private String name; @ExcelProperty("年龄") private String age; @ExcelProperty("手机号") private String phon

2022-03-26 16:44:03 7073 1

原创 实现数组或集合相同索引位置的元素累加

最近做一个工时报表的功能。需要对每个项目、每天的工时横向、纵向合计。横向很简单,直接累加集合的元素就是。纵向由于是多个集合,需要对不同集合相同位置的元素值累加。下面用几个简单数组模拟一下场景,可以把数组替换成集合。模拟数据如下: //模拟a、b、c项目4天的工时,实际天数更加指定月份动态生成。 //项目个数也是动态的。这里模拟3个项目 int [] a = {2,3,4,1}; int [] b = {1,5,1,1}; int [] c = {2,

2022-03-26 16:13:38 1352

原创 使用AQS重写锁

package com.zh.thread.aqs;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurren...

2019-04-21 17:26:23 196

原创 关于静态块、静态属性、构造块、构造方法的执行顺序

示例代码public class HelloA { private static String staticStr = getStaticStr(); private String str = getStr(); //父类构造方法 public HelloA(){ System.out.println("父类构造方法");...

2019-04-20 20:43:02 456

原创 Listener实现单态登录

一个账号只能在一台机器上登录,如果在其他机器上登录,则原来的session自动失效。利用Listener实现单态登录,不会与Servlet有任何的耦合!前后台登录相关代码省略。。。。注意在登录成功后将用户对象加入session,前台每个页面需要每间隔5000毫秒左右检测用户session是否为null,所以建议把前台检测session相关代码放在一个通用页面。如果是null的说明账号在其他机器上登

2018-01-25 22:25:47 723 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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