Hi guys, this appears to have already been corrected subsequent to the
402 final (ie, the nightly tomcat build) - however, I thought it might
be very worthwhile for others to know.

the System Property java.io.tmpdir is set on Catalina startup to
"../temp", however, no empty temp dir is included in the 402
distribution.

the workaround of creating it is simple, but the consquences of not
doing so can be very hard to trace.

specifically, java.net.JarURLConnection attempts to create cached copies
in java.io.tmpdir of jar files for remote jar URLs of the form

jar:http://...

whenever an attempt to get an InputStream is made.

any webapplication code which does this will cause a java.io.IOException
to be thrown - the last part of the stack trace is typically something
like (depending on w32 vs unix)

java.io.IOException: The system cannot find the path specified
        at java.io.Win32FileSystem.createFileExclusively(Native Method)
        at java.io.File.checkAndCreate(File.java:1162)
        at java.io.File.createTempFile(File.java:1247)
        at java.io.File.createTempFile(File.java:1284)
        at
sun.net.www.protocol.jar.URLJarFile$1.run(URLJarFile.java:143)
        at java.security.AccessController.doPrivileged(Native Method)
        at
sun.net.www.protocol.jar.URLJarFile.retrieve(URLJarFile.java:138)
        at
sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:43)
        at
sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:61)
        at
sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:88)
        at
sun.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:108)


Note also that URLConnection.setUseCaches(false) does not change this.

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to