Atualização de .class no Tomcat

12 respostas
tiagops

Pessoal,

possuo uma aplicacao que está sendo executada no tomcat. Faco deploy via war. A minha dúvida é a seguinte: Caso eu descubra um problema numa classe e queira substituir somente o .class no servidor sem precisar reiniciar o TomCat, o que preciso fazer?

Estou substituindo o .class, mas a alteração só é realizada se eu restarto o tomcat, mesmo colocando a opcao de reloadable = true, e os usuarios perdem a secao!

Obrigado!

12 Respostas

furutani

Sem reiniciar o Tomcat fica dificil, pq você não continua fazendo o deploy via war.
Toda alteração que faço, por menor que seja, eu faço deploy do war.

debersom

Você pode dar um reload apenas no contexto da sua aplicação, sem reinicializar o Tomcat.

saoj

Como eu faço essa mágica com o tomcat 5.5.9 ???

debersom

Eu uso o ANT para fazer o deploy, e faço o reload assim: :smiley:

<target name="reload" depends="deploy"> <reload url="http://localhost/manager" username="${tomcatUser}" password="${tomcatPassword}" path="/${aplicacao}" /> </target>

Não experimentei direto pelo Manager, mas acho que deve funcionar e se você compilar suas classes e copiar para o diretorio do deploy o ANt só copia os arquivos modificados, não precisa nem gerar o WAR :mrgreen:

saoj

Legal! Não sabia que dava para usar o Ant com o Tomcat.

Sabe de algum tutorial sobre isso ?

Vou procurar na Internet…

Obrigado!

tiagops

Pessoal, dessa forma se tiver usuarios logados no site eles vao perder a secao ou vao poder continuar no sistema normalmente?

debersom

Preciso realizar uns testes para ter certeza :mrgreen: mas eu percebi em alguns deploys que eu fiz que a sessão continuava normal

debersom

saoj:
Legal! Não sabia que dava para usar o Ant com o Tomcat.

Sabe de algum tutorial sobre isso ?

Vou procurar na Internet…

Obrigado!

Você só precisa lembrar de incluir o catalina-ant.jar, que está no diretorio server/lib do Tomcat, no classpath do ANT

amdantas

pessoal, tem uma forma mais fácil.

no contexto da aplicacao vc seta a prop. reloadable=“true”.

pronto! isso se o contexto tiver apontando direto pro diretorio onde a aplicacao esta sendo desenvolvida.

aqui mesmo no guj tem um tutorial de como usar eclipse integrado com o tomcat.
deem uma olhada.

tiagops

O Problema é que a aplicação já está em produção no cliente.

indivito

só um detalhe pra quem perguntou ai:

se tiver usando algum plugin do tomcat o sysdeo por exemplo, voce clica com o botao direito no projeto depois em tomcat e tem la “reiniciar contexto”

flw

amdantas

ah tá

realmente as melhores opcoes sao as que o pessoal colocou mesmo …

reiniciar o contexto por ANT!!!

boa sorte

Criado 11 de julho de 2005
Ultima resposta 12 de jul. de 2005
Respostas 12
Participantes 6