Realmente eu n�o tinha pensado nessa possibilidade.
Estudando mais um pouco e com a dica do Gaucho(Felipe) criei esse servlet:
package meuPacote;
import javax.servlet.*;
import java.util.Timer;
import java.util.TimerTask;
public class servletBackground extends GenericServlet {
private static int id = 0;
private int myId;
private static int intervalo;
private Timer timer = new Timer();
public void init(ServletConfig config){
intervalo = Integer.parseInt(config.getInitParameter("intervalo"));
id = id + 1;
myId = id;
System.out.println("ServletConfig - " + myId + " - Iniciou");
System.out.println("Intervalo = " + intervalo + " segundos");
timer.schedule(new tarefa(), 0, intervalo * 1000);
}
public void finalize(){
System.out.println("ServletConfig - " + myId + " - Fim");
}
public void service(ServletRequest request, ServletResponse response){
}
class tarefa extends TimerTask {
private int count = 0;
public void run() {
count = count + 1;
System.out.println("ServletConfig - Executou pela " + count + " vez.");
// timer.cancel(); //Terminate the timer thread
}
}
}
No arquivo web.xml eu adicionei o seguinte trecho?
<servlet>
<servlet-name>freteBackground</servlet-name>
<servlet-class>meuPacote.servletBackground</servlet-class>
<init-param>
<param-name>intervalo</param-name>
<param-value>60</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
Agora vem a minha d�vida: Quando reinicio o servi�o(Tomcat 4.0.4) tenho a seguinte
saida no arquivo stdout.log:
ServletConfig - 1 - Iniciou
Intervalo = 60 segundos
ServletConfig - Executou pela 1 vez.
ServletConfig - 1 - Iniciou
Intervalo = 60 segundos
ServletConfig - Executou pela 1 vez.
ServletConfig - Executou pela 2 vez.
ServletConfig - Executou pela 2 vez.
ServletConfig - Executou pela 3 vez.
ServletConfig - Executou pela 3 vez.
ServletConfig - Executou pela 4 vez.
ServletConfig - Executou pela 4 vez.
Isso esta me fazendo concluir que esta sendo criada duas inst�ncias do servlet, e
o mais curioso � que n�o sei porque que o myId n�o mudou. Algu�m pode me explicar o
que de fato esta acontecendo??? e como resolver??
Obrigado!!
===========================================
Francisco Deisimar Nobre J�nior
Analista de Sistemas - CIT - M. Dias Branco
===========================================
-----Mensagem original-----
De: Marcelo de Paula Bezerra [mailto:[EMAIL PROTECTED]]
Enviada em: sexta-feira, 3 de janeiro de 2003 10:27
Para: [EMAIL PROTECTED]
Assunto: Re: [cejug-discussao] Servlet em background
Seu banco de dados n�o suporta triggers?
-------------------------------------------------------------------------------------------
Ceara' Java User Group
Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
Falar com o administrador? e-mail para: [EMAIL PROTECTED]