Temos um aplicativo em execução no WebSphere. As solicitações geralmente demoram muito tempo (dezenas de minutos). Nossos usuários relatam que o Internet Explorer interrompe a conexão e mostra uma tela em branco após algum tempo de espera. O log do aplicativo informa que as solicitações são concluídas normalmente no nível do servlet, embora forneça vários erros como este:
[24/04/15 11:31:19:253 MSK] 0000001f ThreadMonitor W WSVR0605W: O thread "WebContainer: 2" (00000027) está ativo há 750529 milissegundos e pode estar travado. Há 1 thread(s) no total no servidor que pode estar travado
Quais são as opções de configuração do WebSphere ou do Internet Explorer que devem ser consideradas na resolução do problema?
Responder1
Primeiramente, gostaria de salientar que se seu aplicativo estiver executando transações muito longas, você precisará encontrar uma maneira assíncrona de lidar com isso.
Se você não for responsável pelo design do aplicativo, poderá fazer duas coisas (muito sujas):
- Modifique o alerta para thread travado (isso está sujo porque pode afetar todos os threads em seu contêiner e você pode perder um alerta necessário).Aquié a maneira de fazer isso.
- Aumente o tempo limite de conexão nas propriedades personalizadas do seu contêiner da web (isso é sujo porque afetará seu desempenho e algumas outras configurações, pois você pode ser forçado a aumentar seu threadpool e depois disso sua memória e assim por diante).
Mas você definitivamente deve consertar o que há de errado com seu back-end E/OU com sua implementação (ou fazer um core dump para seu desenvolvedor).