Estava com um problema que causava congelamentos de até 10 minutos nas máquinas do JBoss em um cliente. Estes congelamentos eram intermitentes e aconteciam sempre no boot do JBoss.
A fim de fazer testes com várias configurações diferentes e gerar um relatório com dados precisos, escrevi um script que executa o init script do JBoss, espera ele inicializar completamente, grava o tempo de inicialização e mata o processo. Faz isso 50 vezes.
Estou postando ele aqui na esperança de ser útil para mais alguém. Ele é bastante auto-explicativo:
#!/bin/bash # Notes: all Java processes are going to the KILLED and # previous probe.log ERASED! JBOSS_LOG_FILE="/opt/jboss/server/default/log/server.log" REPEAT=50 START_STRING="Started in" RESULT_FILE="/root/probe.log-`date +%F`" > $RESULT_FILE for i in $(seq 1 $REPEAT); do # clean killall -9 java > $JBOSS_LOG_FILE # init and wait sh /etc/init.d/jboss start while [ "x$( grep "$START_STRING" $JBOSS_LOG_FILE )" == "x" ]; do sleep 1 done # log cat $JBOSS_LOG_FILE | grep "$START_STRING" >> $RESULT_FILE done echo "Done"

Fala Liu!
Estamos falando aqui de instâncias de jboss 7? Um “slimming” foi feito ou está na configuração default?
Sei que os senhores fizeram um excelente trabalho no boot do JBoss recentemente e existem pessoas falando em startup menor que 10 segundos…
É terrivel quando causas de problemas são intermitentes. Difícil identificar a causa… Mas nós que somos de TI estamos acostumados a isso neh?
Muito sucesso, rapá!
Eae Israel! Na verdade o script foi feito para o JBoss 5, mas tendo um init script e uma string chave, daria para usar com qualquer versão do JBoss.
O JBoss 7, como tu disse, realmente está bootando muito mais rápido. Coisa de 3 segundos, o que é ótimo para desenvolvimento. Mas em produção temos coisas muito mais importantes pra nos preocupar! Agora, que tá animal tá..
Bom “te ver” garoto!