Algumas vezes o Tomcat não reimplementa na inicialização

1

O infame comando rm -rf é algo que preferimos evitar na Produção, mesmo que seja com script. Portanto, se você tiver um arquivo war denominado mywebapp.war e um diretório implementado como webapps/ , que é chamado webapps/mywebapp/ , como forçar uma nova implantação sem usar rm -rf webapps/mywebapp/ ? O erro do Tomcat é intermitente e difícil de ser reproduzido Estou tentando entender as profundezas da experiência da comunidade em busca de truques que são conhecidos por funcionarem.

E sobre:

  • Definir a data de acesso no war ou no diretório de implantação e / ou seu conteúdo antes da inicialização?

  • Enviando um sinal Unix para o processo Tomcat?

  • Outro?

Nós somos meio reservados com o uso de scripts em vez de algo como o Tomcat Deployment Widget, então eu estou procurando por opções de script que não resultem em uma rebelião total. ; -)

    
por user447607 14.03.2013 / 20:22

2 respostas

0

No seu server.xml para o Tomcat, você pode configurar o appBase para fazer autoDeploy="true" e unpackWARs="true".

Então, se você implantar um arquivo war, ele criará o diretório e, se você renomear o arquivo war, ele será removido. Isso não é realmente recomendado para uso em produção.

Além disso, se você não quiser fazer rm -rf, apenas mova o arquivo para uma pasta pai e, em seguida, arquive-o ou faça o que quiser.

    
por 14.03.2013 / 22:06
0

Você pode apenas touch your_app.war do Tomcat ser reimplementado imediatamente.

Se você está preocupado em proteger os timestamps dos arquivos .war (o que é uma boa idéia), você pode manter um link simbólico do diretório webapps para o local real do arquivo .war e tocar no link simbólico.

    
por 07.12.2014 / 10:14