Atualização de sistema WEB sem reiniciar o tomcat

8 respostas
J

Pessoal, tenho um sistema que está em desenvolvimento mas que já existem partes que irão para produção ou seja, já vamos colocar no ar.
Só que existe um problema, a medida em que formos desenvolvendo novos módulos, precisamos atualizar o sistema sem reiniciar o TOMCA
pois o sistema não pode parar de jeito nenhum. Alguem sabe como posso fazer isso? Valeu !!!

[]´s

8 Respostas

J


Rapaz, nem de madruga???

Tipo, criar um executável que de um stop/start no tomcat em uma hs off ?


Pior que não cara… o sistema é 24hrs… =( é de hospital. Hospital não para.

valeu, []´s

G

Verdade que hospital não para, mas de vez em quando é preciso fazer troca de médicos, enfermeiros… não rola uma negociação para 15 min. de parada do tomcat ? :smiley:
Outra alternativa, é você configurar um pequeno cluster de tomcat em um servidor só. Daí rola restartar um tomcat por vez que o sistema não cai. :wink:
E com o tomcat 5.5 ou 6, configurar cluster não faz cair cabelo!! :lol:

Bom, de qualquer maneira, tem como você fazer um reload sem reiniciar o tomcat. Como você não disse de qual versão do tomcat se trata, passei o link para a documentação do tomcat 5.5. :wink:

Basicamente, você roda a seguinte URL no seu browser:

http://localhost:8080/manager/reload?path=/examples

Onde /examples é a aplicação no tomcat.

Caso não funcione, preciso saber como é feita a instalação da aplicação.

Ah, você tem que ter um usuário no tomcat com permissão para usar o manager. :slight_smile:

J

gleise:
Uau, não pode parar nem de madrugada ?

Bom, tem como você fazer um reload sem reiniciar o tomcat. Como você não disse de qual versão do tomcat se trata, passei o link para a documentação do tomcat 5.5. :wink:

Basicamente, você roda a seguinte URL no seu browser:

http://localhost:8080/manager/reload?path=/examples

Onde /examples é a aplicação no tomcat.

Caso não funcione, preciso saber como é feita a instalação da aplicação.

Ah, você tem que ter um usuário no tomcat com permissão para usar o manager. :)

Oi gleise, uso o Tomcat6. Tenho sim um usuário no tomcat manager… mas se eu der um reload, ele não pára a aplicação não? Tipo… no momento do reload? E nesse caso funcionaria??? Com JSP sei que funciona mas com .class não sei. Valeu![]´s

G

joca_java:

Oi gleise, uso o Tomcat6. Tenho sim um usuário no tomcat manager… mas se eu der um reload, ele não pára a aplicação não? Tipo… no momento do reload? E nesse caso funcionaria??? Com JSP sei que funciona mas com .class não sei. Valeu![]´s

Ah, editei a mensagem anterior. :smiley:

No reload a aplicação fica fora por alguns minutos, mas fica menos que em um restart de tomcat.
O reload só não funciona com o web.xml, qdo o web.xml for editado, precisa rodar o start/stop que também são exlicados no link que passei.

Mas eu se fosse você, pensava sinceramente em um cluster de tomcat, uma vez que o sistema tem que ser failsafe. :wink:

J

gleise:
joca_java:

Oi gleise, uso o Tomcat6. Tenho sim um usuário no tomcat manager… mas se eu der um reload, ele não pára a aplicação não? Tipo… no momento do reload? E nesse caso funcionaria??? Com JSP sei que funciona mas com .class não sei. Valeu![]´s

Ah, editei a mensagem anterior. :smiley:

No reload a aplicação fica fora por alguns minutos, mas fica menos que em um restart de tomcat.
O reload só não funciona com o web.xml, qdo o web.xml for editado, precisa rodar o start/stop que também são exlicados no link que passei.

Mas eu se fosse você, pensava sinceramente em um cluster de tomcat, uma vez que o sistema tem que ser failsafe. :wink:


Será que só existe essa solução?

[]´s

E

Joca,

A idéia de ter um cluster acredito ser a mais recomendada para a tua aplicação. Já que é tão crítica a aplicação, é interessante você ter redundância de servidores. Imagine se o teu tomcat cai por algum estouro de memória ou coisa do gênero. É impossível garantir que um código está 100% livre de erros, portanto esse risco sempre existe.

Tendo um cluster vc aumenta a confiabilidade do teu sistema, reduzindo a chance de queda por um eventual problema, e de quebra resolve essa questão de precisar recarregar uma aplicação em tempo de execução.

Se esse requisito de nunca poder reiniciar o servidor é realmente relevante, você terá que ter uma redundância de servidores obrigatoriamente. É confiar demais deixar apenas um único servidor responsável pela aplicação, que é crítica nesse nível.

Abraço

J

erickmelo:
Joca,

A idéia de ter um cluster acredito ser a mais recomendada para a tua aplicação. Já que é tão crítica a aplicação, é interessante você ter redundância de servidores. Imagine se o teu tomcat cai por algum estouro de memória ou coisa do gênero. É impossível garantir que um código está 100% livre de erros, portanto esse risco sempre existe.

Tendo um cluster vc aumenta a confiabilidade do teu sistema, reduzindo a chance de queda por um eventual problema, e de quebra resolve essa questão de precisar recarregar uma aplicação em tempo de execução.

Se esse requisito de nunca poder reiniciar o servidor é realmente relevante, você terá que ter uma redundância de servidores obrigatoriamente. É confiar demais deixar apenas um único servidor responsável pela aplicação, que é crítica nesse nível.

Abraço

Beleza Erick, vou levantar essa questão por aqui! Muito obrigado pessoal! Valeu!

[]´s

E

joca_java:
Pessoal, tenho um sistema que está em desenvolvimento mas que já existem partes que irão para produção ou seja, já vamos colocar no ar.
Só que existe um problema, a medida em que formos desenvolvendo novos módulos, precisamos atualizar o sistema sem reiniciar o TOMCA
pois o sistema não pode parar de jeito nenhum. Alguem sabe como posso fazer isso? Valeu !!!

[]´s

Rapaz, nem de madruga???

Tipo, criar um executável que de um stop/start no tomcat em uma hs off ?

Criado 19 de novembro de 2007
Ultima resposta 19 de nov. de 2007
Respostas 8
Participantes 4