[英]Tomcat - Running external JAR/WAR
所以我有一个正在运行的Tomcat Web应用程序,具有以下结构:
该Web应用程序是通过ant编译和部署的。 目前,我在所有课程中都获得了不错的Project.war。
基本上,主Servlet充当调度程序。 根据收到的Web请求,它在新线程中启动Job A,B或C。
我想改进我的应用程序,以便我可以为Job A / B / C重新部署该类,而不影响正在运行的进程。 这是我如何将其概念化:
老实说,我不知道从哪里开始或在哪里看。 我曾考虑过使用ProcessBuilder并在命令行中执行jar / war,但这似乎是最不安全的事情。
任何输入表示赞赏。
谢谢 !
我相信您需要一个模块化的应用程序,其中有多个插件(在您的情况下为Jobs),可以在需要时加载或卸载它们,并在可用时使用。 检查这个 stackoverflow问题,它可以为您提供一些帮助。
但是为简单起见,在上一份工作中,我们需要使用OSGI之类的功能而不使用OSGI,我们使用serviceLoader构建了API,并为我们的模块创建了一个接口(在您的情况下是这样),每个jar都有一个实现该接口的类。 并且一旦需要该作业,就可以从服务加载器中调用它(如果存在)就可以使用它,如果没有抛出任何错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.