Ho dato una rapida occhiata al codice sorgente per Tomcat Manager. Sembra che ci sia una classe che fa parte della sorgente Tomcat chiamata "Servlet contenitore". Dalle javadocs:
Un ContainerServlet è un servlet che ha accesso a Catalina funzionalità interna, ed è caricato dal caricatore di Catalina classe invece della classe di applicazione web caricatore.
Un ContainerServlet viene automaticamente passato un involucro che può essere utilizzato per ottenere il contesto e Deployer - e il Deployer dispone di metodi utili come start(String contextPath)
e stop(String contextPath)
che farà quello che si desidera.
Quindi, quello che penso che dovresti fare è scrivere il tuo servlet che eredita da ContainerServlet e configurare Tomcat per caricare il tuo servlet usando il caricatore di classe Catalina (guarda come Manager è configurato per vedere come). Nota che probabilmente questa non sarà un'opzione per te in un ambiente ospitato.
Quindi il servlet potrebbe avere, ad esempio, un pulsante premuto per ricaricare l'applicazione. Raccomando di mettere una protezione con password di qualche tipo di fronte a questo. :)
fonte
2009-06-12 17:50:17
È possibile trovare [questo] (http://p2p.wrox.com/servlets/40311-tomcat-restart-only-one-application.html) link per essere utile. –