Re: Tomcat can't 'see' new files
In article <8763iarc49.fsf@golem.phantasia.org>,
Michael Jung <miju@golem.phantasia.org> wrote:
[...]
Not a problem in this context. (The proper way to do this is
File.createTempFile, I know.)
I tried to reproduce the effect you describe using the versions and code
below. At frequencies > 100 Hz (period < 10 ms), the Timer's period fell
below the task's execution time, and the usual delay in the first task
caused subsequent executions to "bunch up", as described in the API [1];
but I could always browse the first document. It's probably an
irrelevant artifact of Timer, but it may shed light. I enabled directory
listings in web.xml to see the growing list more easily.
See also Dave Miller's suggestion in this thread.
$ ./bin/catalina.sh version
....
Server version: Apache Tomcat/6.0.18
Server built: Jul 22 2008 02:00:36
Server number: 6.0.18.0
OS Name: Mac OS X
OS Version: 10.5.6
Architecture: ppc
JVM Version: 1.5.0_16-b06-284
JVM Vendor: Apple Inc.
<code>
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
/**
* @author John B. Matthews
*/
public class TomcatTest {
private static final int MAX = 100;
private static final String myDir =
"/Users/Shared/tomcat/webapps/examples/temp/";
private static volatile int count;
private static final Timer timer = new Timer();
private static final TimerTask task = new TimerTask() {
public void run() {
count++;
try {
long t = System.currentTimeMillis();
Writer w = new BufferedWriter(
new FileWriter(myDir + t + ".html"));
String f = ""
+ "<html>"
+ "<body>"
+ "?? la recherche du temps perdu: "
+ count + " " + new Date(t)
+ "</body>" + "</html>";
w.write(f);
w.flush();
w.close();
} catch (IOException e) {
e.printStackTrace();
}
if (count == MAX) timer.cancel();
}
};
public static void main(String[] args) {
timer.scheduleAtFixedRate(task, 1000L, 100L);
}
}
</code>
[1] <http://java.sun.com/javase/6/docs/api/java/util/Timer.html>
--
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>