É possível fazer hot swap de uma única classe manualmente com o Tomcat?

0

É possível recarregar uma única classe manualmente com o Tomcat 8 sem precisar reiniciar o servidor? Isso é para um ambiente de produção que eu estou falando, então eu não quero usar o atributo reloadable para conseguir isso. Eu só ocasionalmente posso ter uma atualização para uma única classe (ou algumas classes) que eu gostaria que o tomcat reconhecesse.

Como é possível fazer isso com o atributo reloadable ou definir recursos observados, esperamos que também seja possível acioná-lo manualmente de alguma forma.

    
por RTF 03.11.2015 / 13:36

2 respostas

1

Se você substituir o arquivo de classe e o Tomcat já tiver carregado essa classe, será necessário acionar uma redploy do aplicativo da web para que a classe atualizada seja selecionada. A maneira mais simples de acionar isso é tocar no arquivo context.xml do aplicativo da web. Se não tiver, existem outras opções. Veja esta lista nos documentos do Tomcat: link

    
por 03.11.2015 / 19:21
0

No final, decidi usar o Gerenciador do Tomcat . Estou usando a funcionalidade manager-script do gerenciador (a GUI etc. está desabilitada) e estou limitando o acesso somente ao host local. Eu coloquei um comando reload em um pequeno script shell, assim:

#!/bin/bash
echo Reloading application now...
curl http://my-user:my-password@localhost:8080/manager/text/reload?path=/
echo Done.

Isso recarrega toda a webapp, o que é bom para mim.

    
por 06.11.2015 / 14:16

Tags