Como "travar" o Tomcat?

5 respostas
gtludwig

Pessoal,

Na aplicação trabalho, queremos implementar um funcionalidade do tipo watchdog. Mas para testar isso, precisamos fazer o Tomcat “travar”. Como é possível simular uma situação onde o processo do Tomcat consumiria 100% da CPU do servidor?

Obrigado desde já,
Gustavo

5 Respostas

zoren

Pra consumir 100% vc pode fazer loop infinito, mas qdo estourar a pilha não sei se ele vai parar ou não, acredito que não

kemperacc

Baixe os fontes…

Coloque um while assim em algum lugar na funcao main do apache:

EDIT:

/// REFIZ A CLASSE, VEJA NA RESPOSTA MAIS ABAIXO...

Acho que isso vai trava-lo! com certeza… Provavelmente a maquina vai travar também…

O codigo eu escrevi aqui no forum mesmo, pode ter alguma chave fora do lugar, mas creio que deu para entender…

Ah, depois de alterar o tomcat, basta compila-lo (versao bugada) e executa-lo normalmente.

Saudacoes

Kemper

kemperacc

Pronto!

Fiz uma classe que voce pode usar para testar:

import java.text.SimpleDateFormat;
import java.util.Date;

public class Trava{

public static void main(String[] args){


	new Thread(new Runnable(){
		public void run(){
       			while (true){
	      			new Thread(new Runnable(){

					StringBuffer buffer = new StringBuffer();

					public void run(){
						while (true){

							buffer.append(this.toString());
						}
					
					}
				}).start();
			}
		}
	}).start();
	
	}


}

Mas eu continuo afirmando que voce vai ter que colocar isso no MAIN do tomcat, se voce fizer o tomcat rodar isso ai pelos “meios normais” é provavel que ele não trave.

Bom, sei lá, testa ai e conta pra gente…

kemperacc

E ai cara?

Deu certo?

gtludwig

Opa! Desculpe a demora em responder!
Não achei o main do Tomcat e não consegui testar isso ainda!
Quero ver se consigo fazer isso hoje a tarde…
Obrigado desde já!

Criado 25 de junho de 2010
Ultima resposta 29 de jun. de 2010
Respostas 5
Participantes 3