Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Jetty/Reference/Temporary Directories"
m |
|||
Line 8: | Line 8: | ||
# Try to use an explicit directory specifically for this webapp: | # Try to use an explicit directory specifically for this webapp: | ||
− | #* Iff webapp.getTempDirectory() is set, use it. Do NOT delete it on jvm exit. | + | #* Iff [http://download.eclipse.org/jetty/stable-8/apidocs/org/eclipse/jetty/webapp/WebAppContext.html#setTempDirectory(java.io.File) webapp.getTempDirectory()] is set, use it. Do NOT delete it on jvm exit. |
#* Iff javax.servlet.context.tempdir context attribute is set for this webapp && exists && writeable, then use it. Do NOT delete on jvm exit. | #* Iff javax.servlet.context.tempdir context attribute is set for this webapp && exists && writeable, then use it. Do NOT delete on jvm exit. | ||
# Create a directory based on global settings. The new directory will be called "Jetty_"<ins>host</ins>"''"<ins>port</ins>"''''"<ins>context</ins>"''"+virtualhost : | # Create a directory based on global settings. The new directory will be called "Jetty_"<ins>host</ins>"''"<ins>port</ins>"''''"<ins>context</ins>"''"+virtualhost : |
Revision as of 10:10, 28 August 2012
Introduction
Jetty itself has no temporary directories, but you can assign a directory for each web application, into which the WAR is unpacked, JSPs compiled on-the-fly, etc.
The algorithm for determining a webapp's temporary directory location is as follows:
- Try to use an explicit directory specifically for this webapp:
- Iff webapp.getTempDirectory() is set, use it. Do NOT delete it on jvm exit.
- Iff javax.servlet.context.tempdir context attribute is set for this webapp && exists && writeable, then use it. Do NOT delete on jvm exit.
- Create a directory based on global settings. The new directory will be called "Jetty_"host""port"'"context""+virtualhost :
- Iff $(jetty.home)/work exists create the directory there. Do NOT delete on jvm exit. Do NOT delete contents if dir already exists.
- Iff WEB-INF/work exists create the directory there. Do NOT delete on jvm exit. Do NOT delete contents if dir already exists.
- Else create dir in $(java.io.tmpdir). Set delete on jvm exit. Delete contents if dir already exists.
Be aware that a temporary directory will have its contents deleted when the webapp is stopped unless either
- It is called work.
- It pre-existed the deployment of the webapp.
Once a tempory directory has been allocated, a File instance for it is set and retrievable as the javax.servlet.context.tempdir attribute of the web application.