Sim. Um servlet pode ser instanciado qualquer numero de vezes. Isso cabe ao web container decidir.
Se vc quer correr um código apenas uma vez, use a interface ServletContextListener. (load-on-startup não serve para correr algo apenas uma vez, a menos que vc controle isso explicitamente)
O
OFofy
Poderia me dar um exemplo?
Obrigado…
pcalcado
Um servlet só pode ser isntanciado uma vez, a menos que usando Single Thread Model.
Seu servlet tem SingleThreadModel? Em que método fica o código que está sendo repetido?
O
OFofy
Provavelmente meu servlet não tem Single Thread Model. Poderia me dar um exemplo de como implementar isso?
O método é irrelevante… É um método qualquer dentro de um servlet(imagine que fosse o construtor…). Só que eu gostaria de inicializar essa classe uma só vez durante o startup do tomcat…
Obrigado adiantado…
lmprates
OFofy,
para executar somente 1 vez um código na inicialização de sua servlet, é importante que você crie o método init e coloque neste método o seu código, provavelmente por isso o pcalcado perguntou em que método fica seu código.
L
lelopieri
Estou tendo um problema semelhante.
O fluxo passa pelo init(ServletConfig config) apenas uma vez, ou seja, tenho apenas uma instância do servlet, no entanto, o service(…) é chamado mais de uma vez.
Já verifiquei muitas coisas, fiz pesquisas mas até agora sem progresso.