я пытаюсь сделать простой планировщик, используя классы Timer и TimerTask, см. код ниже, внутри задачи я просто хочу напечатать «Hello, World!» на странице, но выдает исключение IOException: поток закрыт. Пожалуйста помоги!
Код JSP-страницы:
<% Test t = new Test(out);%>
Код тестового класса:
public class Test {
public Test(JspWriter out){
Timer timer = new Timer();
LpdbTask lTask = new LpdbTask();
lTask.out = out;
timer.scheduleAtFixedRate(lTask, 1000*5, 1000*60);
}
}
Код LpdbTask:
public class LpdbTask extends TimerTask{
public JspWriter out;
public void run(){
try {
out.println("Hello, World!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
Ошибка:
java.io.IOException: Stream closed
at org.apache.jasper.runtime.JspWriterImpl.ensureOpen(JspWriterImpl.java:204)
at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:312)
at org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:342)
at org.apache.jasper.runtime.JspWriterImpl.print(JspWriterImpl.java:468)
at org.apache.jasper.runtime.JspWriterImpl.println(JspWriterImpl.java:576)
at scheduler.LpdbTask.run(LpdbTask.java:14)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)