Servlet não implementando SingleThreadModel:
public class TesteSemSingleThreadModel extends HttpServlet
{
public static int instancias = 0;
public void init()
{
instancias++;
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
response.getWriter().print("Instancias: " + instancias);
}
}
Servlet implementando SingleThreadModel:
public class TesteComSingleThreadModel extends HttpServlet implements SingleThreadModel
{
public static int instancias = 0;
public void init()
{
instancias++;
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
response.getWriter().print("Instancias: " + instancias);
}
}
Como resultado pude perceber que o primeiro servlet, que não implementa a interface discutida, quando chamado exibe o texto "Instancias: 1" indicando que o método init() foi chamado apenas uma vez. Já o segundo servlet que implementa a SingleThreadModel, quando chamado exibe o texto "Instancias: 2". Ou seja, duas instancias do servlet foram criadas, uma para cada thread do Tomcat, container que estou utilizando.
Nenhum comentário:
Postar um comentário