2009-11-25 13 views
9

Sto eseguendo Tomcat 6 su Windows. Ho l'icona "Monitor Tomcat" nella barra di sistema che mi permette di avviare e spegnere Tomcat, ma c'è un altro piccolo strumento che mi consente di ricaricare facilmente la mia app Web quando ho cambiato i file di classe? So che l'app "manager" fornita con Tomcat ha un'opzione di ridistribuzione, ma ti chiedo solo se c'è un'app nativa che lo farebbe un po 'più veloce e bello?Qual è un modo semplice e veloce per ricaricare una webapp in tomcat in ambiente dev?

+0

Vedere https://stackoverflow.com/questions/6583502/how-do-i-update-a-tomcat-webapp-without-restarting-the-entire-service/6584259#6584259 che descriverò come la domanda "di fatto canonica" per riavviare le webapp in Tomcat, anche se è stato chiesto in seguito. – rogerdpack

risposta

11

Basta aggiungere un attributo reloadable=true allo Context. Citando il documentation: Set

a true se si vuole Catalina per monitorare le classi in /WEB-INF/classes/ e /WEB-INF/lib per le modifiche, e automaticamente ricaricare l'applicazione web, se viene rilevata una modifica. Questa funzione è molto utile durante lo sviluppo di applicazioni, ma richiede un sovraccarico di runtime significativo e non è consigliato per l'uso su applicazioni di produzione distribuite. Ecco perché l'impostazione predefinita per questo attributo è false. È tuttavia possibile utilizzare l'applicazione Web Manager per attivare i ricaricamenti delle applicazioni distribuite su richiesta.

13

Supponendo che avete già impostato reloadable=true, è possibile touch sia il file WAR nella directory webapps, oppure un file monitorato come WEB-INF/web.xml nella directory dell'applicazione esploso. Ciò aggiornerà il timestamp e farà sembrare l'app nuova, quindi verrà ricaricata.

Nella nostra azienda, eseguiamo i nostri server di app Web in modalità dev tutto il tempo solo per facilitare questo. Al diavolo la raccomandazione, sappiamo meglio di eseguire la nostra app al 99% di carico, quindi non possiamo risparmiare qualche ciclo.

Problemi correlati