- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 一种基于TCP协议无边界系统延时队列自研系统的实现
一种基于http/https协议无边界系统延时队列自研系统的实现,主要为了满足业务系统需要延时任务的场景,使用http/https请求从而简单的可以使用系统延时队列功能,接口性能单机1000并发qps5.7W,支持集群部署、故障自动转移,定时任务采用时间轮算法,做到无边界定时任务。
2024-01-15 22:37:04 1029 2
原创 shardingsphere自动分表,参数校验技术的实际应用
今天可能喝了点酒,兴致很足,就再写一篇博客。还是上一篇po+mq里面用到的报文日志表,自动分表技术的应用:一、啥也不说了首先引入maven包 <properties> <sharding-sphere.version>4.1.0</sharding-sphere.version> </properties> <dependency> <groupId>org.apache.shardingsphere</
2021-11-27 01:10:42 890 1
原创 Java代码动态编译,动态注入功能的实际应用
为了针对日益严峻的跨系统传输异常,决定开发po+mq合体的中间件。在po功能的扩展上,针对请求参数、返回参数进行转换扩展。传统项目针对新加入的接口进行抽象处理,再进行转换,在服务发布的时间差内,会造成请求失败,数据丢失。考虑到中间件的稳定性,为了解决这个问题,我决定加入动态编译,动态注入,卸载的功能,下面聊一下主要实现逻辑:一、首先新建抽象工厂类HttpFactoryService,定义两个抽象方法,也加入了xml转对象,对象转xml的方法,还有http请求方法:package com.asd.po.r
2021-11-27 00:28:18 1092
原创 记一次大物流查询插件的开发
来项目组已经一个多月了,oms、wms、tms都有涉及,大物流系统采用原始的hibernate操作数据库,并进行了一系列的封装。单表增删改查比较方便,直接操作对象,和jpa、mybaits plus类似。涉及到多表查询,用供应商的话来讲得写三件套,如下:作为比较懒的我,这是一种煎熬,也就是上周五我萌生了,依托现有框架,进行无侵入性扩展。类似jpa、mybaits plus,实行注解式sql查询。我的思路是:1.弄一个aop切面,切入包名下的包含@Query的接口方法。2.通过反射获取方法的返回值,
2021-07-04 17:21:55 407 2
原创 java实现延时队列
延时队列主要应用场景是用户登录后延时推送消息,通知等,一般用mq中间件来弄,下面我来用java实现一、消息实体类实现Delayed接口import lombok.Data;import java.util.concurrent.Delayed;import java.util.concurrent.TimeUnit;/** * 消息实体类实现Delayed接口 * @author zhanqi * @since 2021/5/13 13:46 */@Datapublic .
2021-05-14 09:23:46 3100
原创 mybaits,请大家彻底告别xml,对象操作
此方法无侵入性,项目如果没有使用mybaits plus, 请配合配合上一篇文章,两者一起使用,快速敏捷开发(懒人能创造世界)。看效果直接操作对象 @Override public int update(Long id) { File bean=new File(); Timestamp lastModifyTime = new Timestamp(new Date().getTime()); bean.setLastModifyTime(la
2021-04-17 11:59:02 340 1
原创 mysql精华
# 动态sqlCREATE DEFINER = CURRENT_USER PROCEDURE `test`(IN USER_ID varchar(10), IN USER_NAME varchar(10))BEGIN set @SQL_FOR_SELECT = CONCAT("select * from user wher.
2020-12-24 15:02:31 2164 4
原创 Java实现游戏匹配
游戏组队匹配线程类 主要用到是CyclicBarrier类package com.api.websocket.game;import java.util.List;import java.util.concurrent.BrokenBarrierException;import java.util.concurrent.CopyOnWriteArrayList;import java.util.concurrent.CyclicBarrier;import java.util.strea.
2020-11-30 00:20:06 2582 4
原创 Java穷举所有参数名称
package com.api.utils;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 穷举排列组合 * * @author zhanqi * @since 2020-11-23 12:37:39 */public class ExhaustiveUtils { static class Item { List<String> op.
2020-11-23 19:01:38 280 3
原创 JAVA动态编译执行文本代码和加载执行jar包
JAVA动态编译执行文本代码和加载执行jar包一、动态编译器实现类package com.api.utils;import javax.tools.Diagnostic;import javax.tools.DiagnosticCollector;import javax.tools.FileObject;import javax.tools.ForwardingJavaFileManager;import javax.tools.JavaCompiler;import java.
2020-11-21 17:42:14 495
原创 Sqlserver Mysql Oracle 平时用法的区别
Sqlserver Mysql Oracle平时用法的区别1、字符串拼接 Sqlserver + Mysql concat() Oracle || 2、空值处理数 Sqlserver isnull() Mysql ifnull() 注意:mysql也有isnull()函数,但意义不...
2020-10-21 16:48:55 238
原创 自定义注解实现拦截前端重复访问接口
1.自定义注解类NoRepeatSubmitimport java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)publ
2020-07-13 10:31:53 725
Java监控u盘插入
2017-10-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人