Deployed in an WebLogic application server, that is running on RedHat Linux machines, I have some Apache Axis web services deployed. Version 1.6 for the record…
The issue with this software combination, was that periodically people complained that the Axis web services stopped working, for no apparent reason….
Looking at the Axis and webservices log, it seemed that it complained that some directories and files that Axis needed for working are now missing from the /tmp directory:
java.io.FileNotFoundException: /tmp/axis2-tmp-1781229799800844743.tmp/axis23357234725283571419sler.jar (No such file or directory)
It was a fact that indeed the /tmp/axis* directories where all gone, but nobody has deleted them…
A temporary solution for this issue was (because it’s solved for good now) to redeploy the web services that had the issue.
But that doesn’t solve the mystery of why the /tmp directory had files cleaned…
Well it’s simple: RedHat has on /etc/cron.daily a script to check for files that are on /tmp and had no access for more than 720 hours.
This script tmpwatch, was the culprit of deleting axis files.
So there are two permanent solutions for this:
1st) Change/disable the tmpwatch script
2nd) Move Axis temporary files to another location
Because I’m not the machine administrator, but the Weblogic administrator, I’ve choosed 2) and added the following option to the server startup:
Restarted the servers, and allas: Axis temp files in /opt/axis-tmp