- 博客(62)
- 收藏
- 关注

原创 自用bug收集
#1、getReader() has already been called for this request需求:通过过滤器实现对HttpServletRequest请求体的数据做一些逻辑判断、通过获取request.getReader() 流读取body的详细内容,但是request.getReader() 和 request.getInputStream() 都是只能调用一次,所以抛出上述异常信息(个人猜想:导致在controller层无法取到body数据)。解决:通过继承HttpServletR
2021-07-12 10:43:48
363
1
原创 HttpClient使用
全局路由限制、达到限制时,所有新请求均进入阻塞队列,直到全局有连接被释放。单个路由限制,达到限制时,请求进入阻塞队列,直到路由有连接被释放。建立 TCP 连接的超时时间(如 DNS 解析、三次握手等), 在指定时间内未完成与目标服务器的 TCP 连接建立。从连接池获取连接的最大等待时间(若连接池无可用连接,等待其他请求释放连接的时间) 在指定时间内未从连接池获取到可用连接则抛出异常。在读取或发送数据时,连续等待超过指定时间未收到新数据,也就是数据传输过程中的超时,当超过配置的时间将抛出异常。
2025-03-14 11:06:14
334
原创 PageHelper新发现
今天发现了一个很有趣的现象,接手一个很老的项目springmvc项目、使用PageHelper分页实现常见的后端接口分页功能。但是发现当页码参数大于实际的页码数时、正常不应该返回数据,但是目前确一直返回数据不知道问题在哪里。定义:当设置为 true 时,允许 pageSize=0,此时分页插件会执行 COUNT 查询但 返回所有数据。不知道其含义,但是在项目当中是默认开启的状态、后面一顿搜索查询到了下面的信息才明白原由。:false(禁止 pageSize=0):false(不修正非法参数)
2025-02-27 17:36:35
606
原创 nginx模板文件
在 Docker 化部署 Nginx 时,为了能够通过环境变量动态地更改 Nginx 的配置,经常会引入这个模板文件。Docker 启动后会读取环境变量,替换掉 default.conf.template 中使用的环境变量,生成 default.conf,然后再启动 Nginx。nginx通过读取环境变量完成对nginx.conf的相关代理设置,但是nginx.conf不支持直接读取环境变量、所以使用nginx的模板功能达到相应目的。进入容器内部可看到/etc/nginx/conf.d下生成了。
2024-12-13 11:28:39
550
原创 Docker-Compose环境变量
现状是通过Docker-Compose配置管理系统的各个容器服务、因为是微服务架构所以配置文件很多、但是例如数据库、redis、kafka等配置都是同一份但是需要在多个配置文件做映射。参考地址:https://www.baeldung-cn.com/linux/nginx-config-environment-variables#23-docker-compose。想到spring可以自动读取环境变量的特性、就准备做一个配置文件预置所有公共配置,将配置文件中的配置写入docker容器的环境变量。
2024-12-05 14:11:18
816
原创 analysis-ik分词器
最细粒度划分模式。该模式会尽可能多地切分文本,将文本中的每个可能的词语都切分。找到对应es版本的ik分词器、下载zip后放到。该模式会尽可能少地切分文本。创建相关索引、搜索时用。使用离线安装下载地址。bin目录下执行脚本。(服务器能连通外网)配置文件进行相关修改。
2024-10-17 15:01:27
728
原创 elk部署安装
1、提前装好docker docker-compose相关命令2、替换docker仓库地址国内镜像源参考地址:https://blog.csdn.net/llc580231/article/details/1399796033、写一个docker-compose.yml(4、提前下载好相关镜像。
2024-10-16 15:02:07
746
原创 mysql误删数据恢复记录
1、数据库版本 5.7.36,由于误操作删掉了表的所有数据,但是数据库备份每天凌晨进行、只能从备份恢复昨日的全量数据,当日的数据将会丢失。
2024-08-14 16:34:49
537
1
原创 利用AOP数据脱敏
Retention;Target;if(result!= null) {//判断只有字段为字符串同时具有Desensitize注解才生效 if(value instanceof String) {} }if(result!= null) {
2024-04-17 17:18:41
346
原创 Dubbo泛化调用
泛化调用主要用于消费端没有 API 接口的情况;不需要引入接口 jar 包,而是直接通过 GenericService 接口来发起服务调用,。泛化调用对于服务端无需关注,按正常服务进行暴露即可。
2024-04-01 16:58:19
520
原创 SpringMvc 配置文件分离
日常开发中区分测试/生产两种环境的配置文件、springboot常用的解决办法是指定文件后缀在配置以此激活文件的配置内容、由于项目较老使用的是SpringMvc框架,所以通过maven的方式指定配置文件路径。
2024-02-27 10:36:54
621
原创 nginx前缀匹配
来结束地址部分,然后在后面添加 proxy_set_header Host $host;来确保请求头的 Host 字段被正确设置。当您希望保留原始请求的 URI 时,您应该在 proxy_pass 指令中使用。
2024-02-19 15:19:20
1107
原创 dubbo rpc序列化
providerconsumer上述配置中,服务端和消费端serialization属性指定了序列化方式为Hessian2。同样,你可以根据需要选择其他的序列化方式。需要注意的是,序列化方式的选择应该与服务提供者和消费者之间的兼容性相匹配。如果服务提供者和消费者使用的序列化方式不一致,可能会导致通信失败。因此,在选择序列化方式时,应确保服务提供者和消费者都支持所选的序列化方式。
2024-01-31 11:37:06
673
原创 HttpClient调用405 Not Allowed
HTTP 405 错误,也被称为 “Method Not Allowed”,是一个常见的 HTTP 状态码。这个错误通常意味着客户端(例如,一个网页浏览器或一个应用程序)尝试使用服务器不支持的 HTTP 方法(例如 GET、POST、PUT、DELETE 等)来访问某个资源。例如,如果一个 API 只支持 GET 和 POST 方法,而客户端尝试使用 PUT 或 DELETE 方法来访问它,服务器可能会返回一个 405 错误。
2024-01-31 10:25:55
1042
原创 netty使用
服务端配置类//设置线程组、parentGroup处理连接、childGroup处理I/O//Channel通过何种方式获取新的连接(NioServerSocketChannel、NioSocketChannel)//ServerChannel一些配置项、ChannelOption.SO_BACKLOG//ServerChannel的子Channel的选项//自定义ChannelInboundHandlerAdapter、编码解码器等。
2023-12-08 11:17:46
174
原创 Docker容器间网络共享
Docker环境中为了一套应用部署多个环境、并且不修改配置文件的情况下,做到一键部署。要求不同容器直接的网络交互,使用容器名称。网络相关常用命令官网的。
2023-12-01 10:44:56
754
原创 MQTT记录
mqtt:一种通信协议,是一种标准(类比)而emqx是这种标准的具体实现。主要为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,应用于物联网MQ:消息的传输过程中保存消息的容器 -消息队列。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。
2023-09-11 17:29:04
292
原创 docker真实IP解决
在微服务的环境中使用docker部署各个应用,部分应用使用容器内的真实ip暴露出服务。会导致微服务之间调用出现网络超时,要解决这个问题需要让微服务暴露为宿主机的ip。
2023-09-11 16:15:47
747
原创 H5扫码整理
/ aspectRatio: 1.777778 // 可选,视频馈送需要的纵横比,(4:3--1.333334, 16:9--1.777778, 1:1--1.0)传递错误的纵横比会导致视频不显示。//console.log("创建扫码对象",html5QrCode)// this.$toast('您需要授予相机访问权限')// environment后置摄像头 user前置摄像头。// 可选,如果你想要有界框UI。"开始获取摄像头------"// 可选,每秒帧扫描二维码。'扫码errMsg: '
2023-08-24 14:55:40
545
原创 MYSQL的MVCC个人总结
由于事务id数据库自动维护递增,事务id(1,2,3,4,6,7,8)均已提交,同一时间事务B开启,当前事务idB为12修改同一条数据并提交。事务A读取记录得到事务id = 12的数据,此时对比事务id判断是否可取当前值,idA < idB 当前事务不应该读到超前的版本12的数据,此时需要借助undo log版本链去找到小于当前事务id且不活跃的数据。在并发事务的时候,不同的事务会生成不同的read view ,再结合undo log配合事务隔离策略,解决并发事务的脏读、幻读、不可重复读的事务问题。
2023-04-19 15:46:54
124
原创 参数转换(统一校验)
/ 这里我是判断这个参数是否有我自定义的 MyAnnotation 注解 //return parameter.hasParameterAnnotation(MyAnnotation.class);// 也可以换成其他的,例如如果参数的类型是 Student 类的话,用这个resolver解析,怎么用就怎么写 return methodParameter . getParameterType() . equals(User . class);
2023-04-17 11:40:01
154
原创 Vagrant初次体验
hostname ,port,IdentityFile 这三个位置,登录信息约为 127.0.0.1:2222,用户名:vagrant,有可能不能选择密码登录,默认是用密钥登录,浏览,文件,找到 刚刚的IdentityFile ,再输入密码vagrant 就可以使用vagrant 用户 ssh登录。地址:https://app.vagrantup.com/boxes/search。地址:https://www.virtualbox.org/的相关配置,放开root用户权限并重启,放开。
2022-09-08 21:23:14
2939
1
原创 VUEX使用
针对多个组件依赖于同一状态,来自不同视图的行为需要变更同一状态。使用传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。在根路径下创建store文件夹、和index.js文件。在项目中安装vuex、各自的版本对应命令如下。在main.js对store全局导入和引用。编写模板对store的值进行更改。...
2022-08-31 09:36:17
257
原创 跨域请求理解
浏览器访问前端,前端访问后端不同的服务http://localhost:8080 -> http://localhost:5000。协议、主机、端口都相同的话,则这两个 URL 是同源、反之则浏览器视为非同源(跨域:违背了同源策略)
2022-08-29 17:20:51
747
原创 POI日期列解析
需求做EXCEL导入时引用POI对其进行解析、当解析EXCEL时间列(EXCEL文件中该列格式为时间)的抛出异常。POI解析日期类时会将日期(2022-08-25)解析成数字(44798),使用。的判断日期时必须判断单元格是否数值。判断是否日期,并解析成日期类。
2022-08-25 17:23:30
1700
原创 【Response重定向拦截器】
线上项目在对于现有的链接要求使用SSL的https请求,在使用HttpServletResponse对象进行重定向时、重定向后的URI变成http导致部分业务受影响。这里采用第三种方法实现对URI的修改。通过搜索引擎目前有三种解决方案。.........
2022-08-17 09:34:31
663
原创 FLINK - 整理
flink运行时组件作业管理器(JobManager)控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个不同的 JobManager所控制执行。 .JobManager会先接收到要执行的应用程序,这个应用程序会包括:作业图 (JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的JAR包。JobManager会把JobGraph转换成一个物理层面的数据流图,这个图被叫做“执行图”(ExecutionGraph),包.
2022-05-31 11:24:15
225
原创 JVM整理
JVM常用分析命令jvm进程查看命令命令参数解释jps-l查看所有jvm进程(类比linux的ps)jinfo-flag PrintGCDetails pid查看某jvm进程()的运行参数导管jvm查看默认各项参数参数解释-XX:+PrintFlagsInitial查看初始默认-XX:+PrintFlagsFinal查看修改更新-XX:+PrintCommandLineFlags查看命令行例如:java -XX:+
2022-05-31 11:04:10
95
原创 Mysql锁基础
【表锁】偏向MyISAM存储引擎,开销小,加锁快:无死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。MySQL的表级锁有两种模式:表共享读锁(Table Read Lock)表独占写锁(Table Write Lock>锁类型可否兼容读锁写锁读锁是是否写锁是否否结论:结合上表,所以对MylSAM表进行操作,会有以下情况:对MylISAM表的读操作〈加读锁),不会阻塞其他进程对同一表的读请求,但会阻塞对同一表的写请求。只有当读锁释放后,才会
2022-04-24 15:38:05
874
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人