网站首页 > 博客文章 正文
最近在开发的时候碰到一个问题,就是在用到WxJava接口中去对AES进行解析的时候,碰到了拷贝数组越界异常
me.chanjar.weixin.common.error.WxRuntimeException: java.lang.IllegalArgumentException: 20 > -1508095332
经过排查之后发现这是由于在公众号里面配置的消息加密模式为安全模式,那么所有的信息都会用AES进行加密之后发送过来,而这个在解析的时候会报错,异常报错正常来说也没什么问题,后面去解决就好了,但是随之而来发现另一个问题,就是内存从原来的700M,暴涨到7G,这个内存暴涨情况就很严重了,会对其他服务有影响,于是进行排查,发现这个是在jdk 1.8里面出现的内存暴涨的源头,于是查找到需要去给jdk打补丁。
- JRE/JDK 8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
如果安装了JRE,将两个jar文件放到$JAVA_HOME/lib/security目录下覆盖原来的文件
如果安装了JDK,将两个jar文件放到$JAVA_HOME/jre/lib/security目录下覆盖原来文件
由于我们的系统是在Docker中运行的,在Docker中,如果你在容器运行时对文件进行修改,当容器重新启动时,所有的改动都将会丢失。这是因为Docker容器的设计理念是"不可变的",也就是说,一旦容器创建,其内部的状态就不应再改变。这样做的好处是可以确保容器的可移植性和可复制性。为了在Docker中给JDK打补丁,就需要在Docker镜像构建时就应用这些补丁。
简单点说就是要把这两个补丁文件放在我们的jar包里面一起传到服务器,然后Docker构建的时候自动把这两个补丁文件放到对应目录上,这样才能在Docker上完成修复的过程。
COPY target/classes/your-patch-file $JAVA_HOME/jre/lib/security/your-patch-file
打包发布之后,发现程序依旧会有报错,但是目前来看内存不会暴涨到7G的情况,后面还要继续观察,看是否需要哪里进行优化。
猜你喜欢
- 2024-09-23 docker部署linux web运行环境笔记
- 2024-09-23 不可错过的Docker完整笔记(dockerhib)
- 2024-09-23 docker中执行指定脚本(docker 下运行springboot应用)
- 2024-09-23 Java项目要不要部署在Docker里?(java部署工具)
- 2024-09-23 Java Dockerfile 最佳实践分享(java docker部署)
- 2024-09-23 「这些都不知道你就是个弟弟」Docker常用命令
- 2024-09-23 Spring Cloud 第十一篇:docker部署spring cloud项目
- 2024-09-23 用 Docker、Gradle 来构建、运行、发布一个 Spring Boot 应用
- 2024-09-23 功能问题:如何用Docker部署一个后端项目?
- 2024-09-23 Docker系列三部署Tomcat(docker部署tomcat项目)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)