今日定位现网异常,发现诡异的问题,一个axis2编写的webservice客户端程序包,频繁报磁盘空间满。
排查了一下磁盘存储,发现tomcat/temp目录下类似这种文件夹 axis2-tmp-3189278075144909834.tmp,点击进去发现都是axis21422208906360886374axis2-1.6.2.jar 类似的jar包,名字都不相同,感觉是随机生成。
排查catalinat.out后,发现如下大量日志,每次调用webservice客户端代码发送消息报文的时候,都会打印一行。
[2020/07/08 11\:09\:02] [INFO] -org.apache.axis2.deployment.ModuleDeployer Deploying module: addressing-1.6.2 - file:/HXG/bak/erp2job/erp2job/WEB-INF/lib/axis2-1.6.2.jar
[2020/07/08 11\:09\:02] [INFO] -org.apache.axis2.deployment.ModuleDeployer Deploying module: addressing-1.6.2 - file:/HXG/bak/erp2job/erp2job/WEB-INF/lib/axis2-1.6.2.jar
[2020/07/08 11\:09\:03] [INFO] -org.apache.axis2.deployment.ModuleDeployer Deploying module: addressing-1.6.2 - file:/HXG/bak/erp2job/erp2job/WEB-INF/lib/axis2-1.6.2.jar
[2020/07/08 11\:09\:03] [INFO] -org.apache.axis2.deployment.ModuleDeployer Deploying module: addressing-1.6.2 - file:/HXG/bak/erp2job/erp2job/WEB-INF/lib/axis2-1.6.2.jar
百度网友类似问题,有反馈升级jar包到1.7解决的,但是回忆了一下,这个现象是近期发现的,之前没问题,说明还和版本升级有关。
回忆了一下,项目变更历史和日志,感觉应该和一次maven版本切换有关。
比对了maven升级前的所有jar包和 升级后的jar包,发现升级maven后,多了一个jar
找到官网axis2-1.6.2-bin.zip 下载,看了一下里面的Lib,发现axis2-1.6.2.jar这个包没有包含在官方axiz2\axis2-1.6.2\lib 目录下。删除这个jar后,重启测试。发现问题就解决了。
回到项目里面,看了一下pom.xml
注释掉下面一行即可
<dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2</artifactId> <version>1.6.2</version> </dependency>
这个jar在高版本也是不存在的。
1.6.2版本也建议删除这个依赖。
经验总结,版本升级需谨慎,尤其是普通项目转maven,Jar包和小版本号 建议保持一致,先运行稳定一段时间再考虑后续代码变更。