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?