- 博客(8)
- 收藏
- 关注
原创 异常日志的自动重试,根据数据库记录的异常信息模拟用户当时操作对接口重新调用
RequestUtil类代码如下,之所以在请求头中加上EXCEPTION_LOG_TOKEN变量,是为了区分请求的是否是异常日志执行调用的接口,方便后期扩展,请求头中key为EXCEPTION_LOG_TOKEN变量的值你可以记录其他信息,比如用户当时操作的ip和用户当时的操作时间,如果根据异常信息执行调用接口的话,记录的ip是本地ip,而非用户ip,记录的时间也是你执行异常信息时的时间,而非用户当时的操作时间。此方法就是将那些异常信息模仿用户操作重新执行,然后返回执行成功的id。
2023-04-26 15:07:30
555
1
原创 根据aop切面和自定义注解实现添加操作日志信息,记录每个操作者具体做了什么事
还有一点需要注意:就是删除请求使用的是delete请求,如果删除的业务使用了其他请求的话,便不会添加操作日志,因为数据库中已经查不到这条信息了。这篇文章,如果你不需要记录异常日志信息的话,删掉catch中的添加异常日志的代码即可。然后就是最重要的切面类中的代码,添加操作日志的实现就是通过切面中的环绕通知实现的。然后添加操作日志代码使用到了字符串灵活sql语句的执行,详情请看我。对了,环绕通知中有捕获异常,所以使用了记录异常日志信息的方法,详情请参阅我。然后创建操作日志的表,表字段如下。
2023-03-28 00:46:46
583
原创 使用aop切面记录程序接口异常日志信息,包含完整方法名,参数类型,参数名,参数值及接口信息,异常信息
文章到这里已经结束了,具体接口测试就不发了,你们可以自己去测试看看,最后我把数据库中记录的异常信息可以给你们看下,前面两条是还没写完时测试的,所以没有相关信息。注意注意注意:若使用了环绕通知并且环绕通知方法中自己捕获了异常(其他情况不需要添加),需在捕获的catch中添加记录异常日志的代码,比如下面的例子。我后期会将记录的异常信息写成程序自动根据记录的异常日志重新调用接口执行,目前还没时间写这个功能。ResolveExceptionUtil类中代码如下,这个是封装的构造异常日志信息工具类。
2023-03-27 23:40:57
590
原创 使用java编写的数据库存储引擎。解析超大sql语句文件的算法并按照指定规则将数据库名,表名,字段名和对应的值写进磁盘中,逐行读取逐行写入
然后就是解析sql语句的算法了,将解析好的数据字段值写入输入的磁盘路径下text/库名/表名/字段名.txt中(因为sql文件是以库名命名的)首先我封装了一个校验sql字段类型的工具类,这个是用来检验sql建表语句中的字段的。因为是逐行读取逐行写入的,所以经过10G的sql文件测试,目前无内存溢出异常。此代码已测试过,可多线程运行过10G内容的sql文件,无内存溢出。
2023-03-20 22:37:59
261
原创 基于springboot定时任务的后台管理,使用数据库配置定时任务相关信息,修改,关闭定时任务不需重启项目
创建完数据库,创建对应的ScheduledController,ScheduledService和ScheduledMapper和Scheduled实体类,相关代码我就不发了,控制层将定时任务相关信息修改后记得重启你修改过的定时任务,调用scheduledTaskService.restart(传入此定时任务的实体类信息);然后我们新建一个定时任务的公共接口,所有定时任务中的类(也就是表中的job_key字段填写的类名)都必须实现此接口。然后项目启动时初始化定时任务。首先创建定时任务线程池。
2023-03-12 23:24:19
2256
3
原创 字符串sql语句执行封装,借用hutool工具类
然后在根路径创建db.setting文件,这个是hutool工具栏提供的数据库配置文件,详情请看官网。引入依赖,及数据库驱动包,我的是mysql和sqlserver。然后就是封装的代码工具类。
2023-03-11 14:52:14
2185
原创 根据页面url地址生成二维码图片,返回base64格式
输入url地址即可生成,默认图片大小是185*185。首先映入hutool包,我的版本是5.8.3
2023-02-16 20:33:39
968
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人