Um problema comum para tarefas demoradas no WebLogic é o famoso Stuck Thread. Para simular esse problema é só criar um projeto Web com uma servlet com o seguinte código: (Atenção!!! Não faça isso em casa. Isso é feito por profissionais treinados :D)
package br.com.thiagovespa.stuckthread.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LongRunningServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { for(int i=0;i<30;i++) { // 15min try { System.out.println("Estou executando: " + i); Thread.sleep(30*1000); //0.5 segundo } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
Thread e System.out no código (como eu disse.. não faça isso em casa e nem no trabalho :)).
Bom dia! venho buscar um help, fiz a instalação no debian da versão weblogic server 12c. Sendo que executo o mesmo está rodando na porta 5556, porém ao rodar no browser não está carregando.. executo o seguinte comando http://localhost:5556/console.. Alguma dica ?
Preciso do resultado da seguinte saída para poder te ajudar: netstat -tlpn | grep 5556
Thiago,
Excelente Post!
Obrigado pela ajuda!
Uma dúvida, caso tenhamos um grande número de Stuck Thread, acabado derrubando o Weblogic?!
A melhor forma de evitar que o Weblogic caia é definindo um timeout menor?