- 博客(42)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
原创 Spring Boot代理问题
Component@Aspect@ComponentSpring Boot 2.x 默认使用 CGLIB 来实现 AOP 代理,主要是因为 CGLIB 适用于更广泛的场景,包括那些没有实现接口的类。此外,Spring 允许通过配置来选择和控制代理类型,以适应特定应用程序的需求和设计。了解这些机制和配置选项,有助于开发人员在使用 Spring AOP 时做出更明智的选择,并确保代理行为符合预期。
2024-11-04 17:52:53 689
原创 hiricacp 连接池校验机制
我知道hikaricp获取连接之后会校验连接的有效性,就猜想如果校验失败了,那本次请求是不是就是失败了,如果这样的话,那就没校验的意义了,所以肯定有重试机制用以保证请求的完整性。项目发生告警,但是并没有影响业务,看了下日志,红框里面有循环调用了3次 ,一直以为是外部的重试在重试,但是外部确没有重试记录,就深扒了代码。这里面调用了 result.getConnection();result为hikariPool。elapsedMillis 方法是将当前时间戳-startTime 得出的时间差。
2024-09-11 19:08:14 415
原创 数据库超时排查
应用程序使用 MyBatis 和 Spring 获取数据库连接。使用 HikariCP 作为连接池管理数据库连接。在 HikariCP 中检查连接是否有效时,发生了 I/O 错误(读超时)。这导致 PostgreSQL 驱动程序抛出异常。这通常表示网络问题、数据库配置问题或者客户端配置问题。需要进一步检查网络连接、数据库以及连接池的相关配置来排查具体原因。hikari:# 数据库连接有效性校验超时时间(ms) 默认是5秒。
2024-09-05 16:31:49 1781
原创 测试数据心得——holo
目前是做报表项目,经常会有新的报表通过新的视图呈现在前端,所以经常需要在新表里面造数据,有一个区划维度大概有100+,另外还有一些其他维度,此为背景,使用数据库为holo。
2023-06-06 16:13:24 675
原创 sublime 给JWT续期
可以 在sublime里面使用python写一个插件 ,根据原有token自动 续期,根据不同的项目需要 做适当的修改。
2023-05-22 14:15:40 102
原创 idea-easyYapi的使用
链接:网上搜到的easyYapi基本上都是千篇一律,比较浅,稍微有点定制的东西都搜不到,帮此把自己的一些心得写出来,后续有新发现也会继续更新。
2023-05-11 17:59:06 1217
原创 报错:Required request body is missing: public
网上一查说是get和post的原因,但是看了下测试机请求是没问题的,直到有个用户反映有问题,排查之后发现,是机型兼容问题,是发送post请求时没有携带请求参数 ,导致解析出问题,报错原因跟网上查的资料是一致的(),但是起因并不是post接口使用get请求。请求体里面不能获取到有用信息。线上日志一直在报错,发现。
2023-01-13 13:59:22 8121
原创 sublime json美化
资源包里面的插件:红框里面的都是使用python写的更贴近工作的小功能,旨在抛砖引玉。1、选中文字,右键选择json美化,则可对选中文本进行json美化。2、不选中文字,右键选择json美化,则对当前页面进行json美化。mac: 点击【首选项】-【浏览插件目录】只对json的特殊字符进行格式化。
2022-12-14 17:28:33 1463
原创 Mybatisx插件
需要查看图2的module path 和base path的路径是否完备,在这个问题卡了好久,一开始也以为是版本的问题,一直不能逆向出类,后来才发现是生成到其他目录上去了。ps:有一种情况是不生成 pojo类,或是什么类都 没有生成。
2022-11-22 10:06:03 580
原创 sublime列编辑状态
一个是先入为主的问题,notepad++进行列编辑是alt+左键notepad++进行列选择时,选择的行没有编辑也是可以选中的,sublime只能选中编辑范围进行列粘贴时,notepad++可以不用关注选择的列数和要粘贴的列数是否对应 ,但是sublime必须要对应 上,要不然粘贴就有问题,(需要处理的是两三行还好,如果处理超过5行以上,感觉识别成本就高很多)
2022-09-14 11:28:59 1116 2
原创 Consummer<T>函数式接口中的andThen方法
也可以理解为:c1.andThen(c2)是将c1和c2合成一个新的c3然再执行accept(),c3的方法逻辑是先执行c1.accept(t)逻辑,然后再执行c2.accept(t)。
2022-08-05 10:06:50 702 1
原创 将日志打印的SQL组装为可执行SQL
近期在做报表项目,业务核心就是指标计算准确性,所以需要查数据库结果手动运算对比前端结果,工程开启SQL打印,但是打印的sql和条件参数是分离的,需要再处理一翻才行这种有规律且反复的事情,当时就想到写一段自动处理的代码去运行,但是想到写代码太复杂了,于是就利用正则在notepad++里面录了一个宏执行-- 此文字是从idea里面的日志复制过来的JDBC Connection [HikariProxyConnection@548959462 wrapping com.mysql.cj.jdbc
2022-04-28 11:42:00 1818 1
原创 maven Dependencies 报红解决
背景:重新从远程仓库里面clone工程,发现dependencies全报红解决方法:1、查看maven的仓库指向----没问题2、百度方法:删除所有的 dependency 文件,重新加载报红没了再重新将删除的文件,放回去再重新加载,文件就来了以上是网上找的步骤,但是我这边一直没搞定,后面更是连续弄了2个多小时,后来发现是有一个依赖引入错误导致全部依赖都引入不成功我这边有一个依赖是三方提供的私有文件,因为版本号没对上虽然在pom里面报红,但是并不影响工程运行,这.
2022-03-14 14:46:46 11279 1
原创 idea自动打开class的位置
项目调测时,有时只需要改动一个class,就不想把带个项目打包,想要定位到改的class的文件目录又很麻烦:myeclipse自动定位class文件https://blog.csdn.net/soldier_jw/article/details/103085525之前写过一篇用myeclipse开发时,在java代码页面自动定位打开到class在硬盘里面的位置现在转为idea开发,网上找了很多插件都没有这个功能,就写了一个批处理脚本,将以下脚本保存为bat文件 ,在idea里面...
2021-02-05 09:49:54 1049 2
原创 java线程阻塞问题排查
同事的项目有时候会卡住,重启之后就好了。下面是分析过程业务线程调用是交由spring管理的,设置好频次,调用完成即结束,一般线程耗时都很少1、获取耗时较长的线程idtop -Hpjava进程ID 这个是以cpu使用高低对线程进行排序因为这次的问题不是cpu标高,而是业务跑不下去导致的,所以重点在于查看时间过长的线程,举个粟子: 9335最高,以此为切入点2、获取栈信息命令:jstack进程id > jstack.log3、分析栈内容把栈信息发到本...
2021-02-04 13:24:32 6595 8
原创 去除数据库里面的特殊空格
从库里面导出数据时,有个标题里面的空格replace(' ','')方法都去除不掉,网上搜索了到了以下方法replace(replace(replace(数据库字段,char(9),''),char(10),''),char(13),'')char(9)水平制表符;char(10)换行键;char(13)回车键还是替换不掉查出来的空字符,解决方法:1、把查到的文本数据复制出来,放到notepad++里面部分文本:庆典 2012、notepad++ 安装hex-edit插...
2021-01-15 15:32:58 1514
原创 grep应用
背景:从上游接工单,工单里面有newId,以及关联了多个allNodes,客户会导一份栏目ID到库里放到缓存中,用来标识此资产的特殊用途,我这边会在入库时拿allNodes里面值21818和36628到缓存里面校对是否能找到,如果找到了36628就将nodeId赋值为36628现在发现竟然没有匹配,程序已经跑了半年,需要标注的资产有300个需要核对,工单只存在于日志中,头麻。。。工单样例:<Property Name="newId">150827</Property>..
2020-11-25 21:18:19 283
原创 批处理应用
@echo offset name=%~nx0set name=%name:.bat=%echo ====================================@echo 生成考勤文件 rem "%str%"=="" 有空字符会报错,应改为 [%1]==[]rem 1、判断是否为拖拽方式打开if [%1]==[] ( echo ==================================== rem jump point (跳转点) :loop .
2020-10-22 09:32:58 267
原创 git报错:git@gitee.com: Permission denied (publickey)
$ ssh -T git@gitee.comgit@gitee.com: Permission denied (publickey).今天在git命令窗口测试【码云】连不上,按照网上找的方法说是公钥配置的有问题,重新配置一遍还是有问题。如果按照网上的那种配置方法搞不定,照我的方法配置基本就差不多了。最后还是加了一个参数 -v ssh -T -v git@gitee.com 查看用以上命令访问【码云】具体做了哪些操作ps: 大家调试shell 时老是报错,也可以加上一个-x ...
2020-05-17 23:16:27 15951
原创 相同的文本hashcode不一样
背景:公司每月提供一个大的考勤 表,需要员工自己将打卡时间按照模板规范填入另外 一个文档中,一直都是复制,粘贴且效率极慢,就想做一个代码批量处理(一天只需要打上班卡和下班卡,有时加班,怕下班忘记打卡,就在下班时间点先打一个卡,真正下班再打一个卡,这样就导致一天有多个卡点)思路:1、以日期为hashMap的key值,打卡时间为value值放到map里2、小于12点为上班卡点取最小的值,大于12点为下班卡点取最大的值问题:输出结果:2020/4/1 的卡点为空,其它时间点都有的,当时把这
2020-05-09 14:41:42 732
原创 j++与++j的区别
j++和++j的结果都是+1,但是在指令级的操作模式完全不一样以下代码输出结果为:0 public static void main(String[] args) { int j = 0; for(int i = 0; i < 10; i++){ j= j++; } System.out...
2020-03-24 18:26:38 12142
原创 myeclipse自动定位class文件
说明:${workspace_loc}表示工作空间所在的路径;${project_name}表示项目的名称;${java_type_name}表示所选java文件的类名(全名);${workspace_loc}\"${project_name}"\WEB-INF\classes ${java_type_name} ${project_loc}\WebRoot\WEB-INF...
2019-11-15 15:00:12 363
原创 digester解析xml生成对象
解析xml的工具有很多种:dom,dom4j,sax, Digester底层是使用的sax一、引用 jar包commons-digester.jar commons-beanutils-1.7.0.jar commons-logging-1.1.jar二、要读取的xml<?xml version="1.0" encoding="utf-8" ?><schoo...
2019-09-20 13:30:57 351
原创 jsp引用路径问题
上图是一个测试页面,WEB-INF/web/webinf.jsp 里面引用 images/start.jpg<%String path = request.getContextPath();request.setAttribute("path", path);String basePath = request.getScheme()+"://"+request....
2019-09-19 10:02:45 751
原创 请说下java向上转型和向下转型——日记
java转型是基于多态技术。 向上转型是自动的,向下转型是强制的。因为子类是在父类的基础上做的修改,子类包括父类的所有的能力。向下转型时,需要先向上转型才可安全的向下转型1、引用对象向上转型时调用的成员属性是当前类型的属性,调用方法时优先在子类中查找,调用子类的方法,子类没有才会调用父类的方法。且子类会遗失除父类之外的方法2、基本类型long向下转型时可能会引发 数据丢失...
2019-08-29 21:32:49 270
原创 oracle自定义的函数
今天在数据库里做数据运算时(数据都为0以上),发现报无效数字,之前也是经常遇到这种错误,一直没有做过整理;解决办法:1.查出非数据的字段,但是没查到SELECT * from 表 WHERE replace(表字段,'0123456789.','') IS NULL;2.将空格清除掉(换行,制表符,空格)update 表 set 表字段 = regexp_replace(表字段...
2019-04-04 21:56:08 311
原创 正则表达式贪婪匹配
个人感觉对正则表达式理解的还算多的,贪婪模式也用过,但是最近匹配地址信息的时候老是出错 ,如下【宁波-鄞州】....[21.59901313997095;29.80867802546617]$宁波鄞州区鄞县大道万科桂语里小区(盲点小区),编号:FG_2019 【宁波-鄞州】....[21.59901313997095;29.80867802546617]$鄞州区鄞县大道万科桂语里小区...
2019-03-26 10:23:03 552
原创 sqlplus找不到命令
最近遇到个问题,sqlplus这个命令写到脚本里面也可以正常使用,但是放到crontab里面就找不到命令;原因:sqlplus在其它目录可以使用,说明环境变量已经被加载了,在定时任务中不能用,需要在脚本中将环境变量中加载。我的操作是: #!/bin/bash #soldier 2018-09-04 #网优数据巡检,先入到数据库中,然后会由其它程序发送到邮件...
2018-09-04 12:13:26 12549
原创 linux oracle11g客户端安装
1.下载对应rpm文件链接:https://pan.baidu.com/s/1G6DA383UI8ClHudsr82hRQ 密码:f02e2.执行安装命令 [root@bogon oracle]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 准备中......
2018-09-02 21:27:32 11766
原创 myeclipse生成jar包并在windows下用bat脚本调用
一、生成jar包1、在工程包上右键导出 export 2、选择jarfile,点击 next3、这里要先选择导出哪些jar包默认是没有的,需要自己选,点击 next4、直接点next5、选择启动入口,点击 finish就可以生成jar文件了,二、启动java程序 @echo on@echo 启动巡检程序 set path=%JAVA_HOM...
2018-08-23 10:20:35 495
python sublime 插件
2022-09-16
notepad 录制的宏
2022-04-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人