2015-02-09 51 views
3

有没有办法从另一个.war开始/停止.war文件?从Tomcat中的另一场战争开始.war文件8

我正在运行使用Tomcat 8的SymmetricDS服务器(它部署了它自己的.war),我需要启动它,当按下按钮时,同样停止。我可以这样做吗?

+2

您可以通过编程的方式很容易地完成这项工作 - 可以通过HTTP [使用API​​]访问Tomcat管理界面(http://tomcat.apache.org/tomcat-8.0-doc/manager-howto.html #Supported_Manager_Commands)。 – 2015-02-09 09:32:41

回答

3

当战争文件“丢弃”到Tomcat的webapp文件夹中时,默认情况下Tomcat会自动部署并启动它。从webapp文件夹中删除源文件时,Tomcat会自动停止并取消部署该Web应用程序。

因此,基本上所有你需要做的就是复制并删除webapp文件夹中的war文件以启动/停止web应用程序。

另外(或者如果你不能做到这一点)Tomcat有一个内置的管理器web应用程序,它能够部署新的应用程序(从war文件),或停止和取消部署正在运行的web应用程序。
有关详细信息,请参阅Manager App HOW-TO

如果您想从代码执行此操作,请检查ManagerServlet类。你可以用简单的URL和参数来调用它。该类的javadoc包含可以使用它的示例URL。以下是具体到您的需要2个重要的操作:

  • /start?path=/xxx - 开始连接到上下文路径/ XXX这个虚拟主机的Web应用程序。
  • /stop?path=/xxx - 停止附加到该虚拟主机的上下文路径/ xxx的Web应用程序。
+0

复制和删除似乎有点极端,而“战争”实际上相当大 - 非常耗时。你的第二个选择似乎更适用。我会看看。谢谢! – SMSk 2015-02-09 09:34:28