- 博客(95)
- 资源 (9)
- 收藏
- 关注
原创 mybatis,mybatis-plus修改xml不重启生效,mybatis,mybatis-plus修改xml,sql动态刷新,mybatis修改xml热编译发布
mybatis,mybatis-plus修改xml不重启生效,mybatis,mybatis-plus修改xml,sql动态刷新,mybatis修改xml热编译发布
2025-07-29 17:27:11
236
原创 springboot优雅停机无法关闭进程,kill无法停止springboot必须kill -9,springboot线程池使用
优雅停机无法关闭进程,springboot线程池使用
2024-09-09 11:44:04
995
1
原创 filebeat,kafka,clickhouse,ClickVisual搭建轻量级日志平台
clickhouse,ClickVisual,kafka轻量级日志平台
2024-07-18 18:00:59
1957
原创 springboot手动触发参数校验,service层调用参数校验
入参校验一般是在控制层通过javax.validation.constraints包下的规则注解如NotNull结合Valid与Validated实现,但是有时候我们的方法不提供给controller调用这时候就无法触发自动参数校验,为此我们可以通过不更改校验代码的前提下手动触发spring的参数校验。
2024-06-07 11:50:09
1541
原创 springboot事务结合分布式锁超卖问题
商品销售扣减库存是常见的场景,考虑性能的可以使用redis存储库存进行扣减,并发小的也可以采用数据量库存占用记录实时计算方式,最近开发的功能由于并发量不大,考虑到实现简洁的因素,决定采用库存占用记录实时计算方式。
2024-05-24 15:39:13
683
原创 rabbitmq死信交换机,死信队列使用
对于核心业务需要保证消息必须正常消费,就必须考虑消费失败的场景,rabbitmq提供了以下三种消费失败处理机制。
2024-04-02 17:53:34
825
1
原创 oracle分区范围修改与数据迁移处理
由于对应用上线后流量越来越大,原来的按年自动分区性能跟不上,因此决定改成按月自动分区,同时将原有分区数据重新迁移到新的分区。
2024-01-29 20:11:12
1115
原创 googlecode.log4jdbc慢sql日志,格式化sql
无论使用原生JDBC、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的,不便于分析,显示如下的效果:googlecode Log4jdbc 是一个开源 SQL 日志组件,它使用代理模式实现对常用的 JDBC Driver( Oracle , Derby , MySQL , PostgreSQL , H2 ,等)操作的拦截,记录真实 SQL ,可以将占位符与参数全部合并在一起显示,方便直接拷贝 SQL 在 MySQL 等客户端直接执行,加
2024-01-04 21:06:48
899
2
原创 双因子认证,TOTP动态口令认证
TOTP:Time-based One-Time Password写,基于对称密钥与时间戳算法的一次性认证码。时间同步,基于客户端的动态口令和动态口令验证服务器的时间比对,默认每30秒产生一个新口令,要求客户端和服务器能够十分精确的保持正确的时钟,客户端和服务端基于时间计算的动态口令才能一致。算法安全的核心在于密钥 , 每个人通过对应账户生成的密钥是不同的 . 当他们用同一个算法加密时 , 会生成不同的随机密码,认证时客户端需要使用阿里身份宝,Goole 身份验证器等工具生成认证码。
2023-06-25 11:36:57
2961
原创 springboot mybatis-plus慢sql输出日志,log4jdbc使用
无论使用原生JDBC、mybatis还是hibernate,使用log4j等日志框架可以看到生成的SQL,但是占位符和参数总是分开打印的,不便于分析,显示如下的效果:Log4jdbc 是一个开源 SQL 日志框架,它使用代理模式实现对常用的 JDBC Driver( Oracle , Derby , MySQL , PostgreSQL , H2 ,等)操作的拦截,记录真实 SQL ,可以将占位符与参数全部合并在一起显示,方便直接拷贝 SQL 在 MySQL 等客户端直接执行,加快调试速度。
2023-06-25 10:10:58
3077
原创 springboot openfeign Sentinel统一降级处理
提供默认的降级方式,若openfeign未指定FallbackFactory则走默认降级方式,否则就走自定义的FallbackFactory降级。此种方式太过于麻烦,每一个方法都要写一个降级逻辑,并且降级逻辑大多是雷同的。
2023-06-09 10:15:02
2103
原创 springboot2.6.3整合knife4j 3.0.3
maven打包需指定profile,如mvn clean package -Pdev -Dmaven.test.skip=true。搭建knife4j在线接口文档,并且支持在线调试,下载接口文档到本地,直在dev环境引入knife4j依赖,其余环境不引入。2. dev 配置文件配置。
2023-06-02 22:55:46
847
原创 Arthas分析方法耗时,java方法耗时过长分析
碰到服务器部署的服务响应过慢我们通常可以通过类似skywalking与sleuth+zipkin的链路追踪技术来分析方法调用链路耗时情况,但有时候服务没有集成链路追踪那就得另谋犀径了,最近在工作中就碰到了此种情况,最终使用阿里巴巴的Arthas来分析,这里记录下详细过程。
2023-05-05 22:53:06
2417
原创 java内存占用过大分析,mat内存快照分析
MAT(java memory analyzer tool)是一款基于eclipse免费开源的java内存分析工具,可以用来分析java堆栈溢出,大对象排查等。
2023-04-27 21:30:37
2350
原创 java方法耗时统计,JavaAgent javassist bytebuddy统计方法耗时,jvm监控prometheus
JavaAgent,bytebuddy,prometheus,jvm
2022-12-18 12:09:30
1981
1
原创 springcloud日志链路追踪,Zipkin,Spring Cloud Sleuth
springcloud日志链路追踪,Spring Cloud Sleuth,Zipkin
2022-11-09 22:44:57
928
原创 nginx kafka flink mysql用户操作日志统计
https://zhuanlan.zhihu.com/p/348877559
2022-04-29 23:15:47
4698
2
原创 flume+kafka+flink+mysql实现nginx数据统计与分析
https://juejin.cn/post/6937988947498762270
2022-04-20 20:08:49
6802
原创 jenkins自动化打包部署,jenkins执行sh脚本不退出问题
介绍Jenkins是开源软件项目,主要用来自动化打包部署。使用jenkins彻底告别手动部署的麻烦与繁琐。安装部署jenkins官方下载地址启动jenkins war包登入jenkins设置maven,jdk由于jenkins机器已有Maven与jdk,这里直接设置对应安装路径即可项目构建与部署设置应用部署目标服务器配置远程服务器ssh登录设置密码与超时时间新增maven项目输入项目名称,类型设置代码库,这里我使用的是svn设置编译脚本点击高
2022-03-09 10:23:55
2636
1
原创 webflux webclient DataBufferLimitException: Exceeded limit on max bytes to buffer
org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer
2022-02-24 15:41:14
1382
原创 webflux切面拦截权限,webflux整合aop,webflux获取request
背景在springboot+tomcat应用中获取request可以使用RequestContextHolder.getRequestAttributes()的方式来获取,此种方式的核心在于request所在容器被放在threadlocal中,但是webflux结合netty项目却不能这么使用,因为webflux是异步响应式的。...
2021-12-24 18:04:32
7868
3
原创 java实现表锁行锁
分段独占锁public class SegReentrantLock{ private List<Lock> lockList; public SegReentrantLock() { this(10); } public SegReentrantLock(int size) { if (size < 1){ throw new IllegalArgumentException("size mus
2021-12-20 21:07:12
2484
原创 java修改配置不重启,java运行时修改应用数据,通过jmx修改应用运行数据
背景运行中的应用修改了配置后应用能生效有多种解决方案,比如:配置存入redis中修改了配置文件后按时检测配置文件是否被修改,被修改则读取修改后的内容下面介绍springboot工程通过jmx动态修改配置不停机的方式来管理配置文件,此种方式使用简单,而且实时生效,没有延迟。知识普及jmx MBean:所有被MBeanServer管理的资源,提供了访问接口,可通过RMI或HTTP访问实现功能动态修改应用的浏览器黑名单实现过程编写MBean类编写浏览器黑名单类,将其注册到MBean
2021-11-10 09:02:41
1232
原创 jconsole远程监控认证,java远程监控,jmx监控应用,jmx ssl配置,jconsole ssl连接远程应用
知识普及jmxJMX(java Management Extensions)是一个Java平台的管理和监控接口。任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息,jconsole与Java VisualVM等常见监测工具都是基于jmx,JMX不但可以用于管理JVM,还可以管理应用程序自身。JMX把所有被管理的资源都称为MBean(Managed Bean),MBean全部由MBeanServer管理,如果要访问MBean,可以通过MBeanServer对外提供的访问接口,例如RMI
2021-10-15 11:49:20
2368
1
原创 java制作带有logo的二维码,解决zxing中文乱码
目标使用谷歌zxing生成带有logo二维码使用便捷方式解决二维码中文乱码问题过程下载依赖:maven坐标:<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version></dependency>编写java代码生成二维
2021-08-05 14:25:16
755
原创 jmeter生成优美的压力测试报告,jmeter生成html压测报告,jmeter压力测试
在jmeter bin目录使用如下命令将测试报告转成htmljmeter -g B:\projects\xx\Mes\压力测试\jmeter数据\报告\tsp签名压测报告.jtl -e -o B:\projects\xx\Mes\压力测试\jmeter数据\报告\html\tsp签名压测报告说明:-g 指定已存在的测试结果-o 指定测试报告的存放位置,指定的文件夹必须是不存在的,否则执行失败-e:测试结束后,生成测试报告...
2021-06-24 22:46:58
3075
1
原创 java实现数据持久层框架,自定义实现数据持久层框架,兼容spring,兼容spring事务管理
完整代码:https://gitee.com/tandatda/smpedr使用完整demo:https://gitee.com/tandatda/demo-edr-smpdb
2021-06-11 11:57:10
1635
2
jarjar-1.4.jar.rar
2020-02-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人