我们的组织是 Mule 4 的新手。我们在部署新的 api 时遇到了一些问题。我们的一些 api 需要大约 10 分钟来部署。我们认为这种延迟部分是由于与 Mule 3 部署相比,Mule 4 api 的 jar 更大,因为所有依赖的 jar 都打包在部署 jar 中。有时,新部署会导致崩溃,服务器上的所有 api 都必须重新启动。
在 Mule 3 中,我相信您可以拥有多个 api 共享共同依赖项。这使我们能够拥有更小的 jar 来部署新的 api。在 Mule 4 中,除了域项目之外,还有其他方法可以做到这一点吗?
我们已经尝试使用命令“mvn package -DlightweightPackage”打包轻量级 jar,但无法部署这些。即使我们将所需的存储库结构放在 /lib/mule/repository 中,轻量级打包 JAR 也不再包含 classloader-model.json 来配置应用程序在哪里查找它的存储库(依赖项),因此它们不会正确部署。
但是,我们使用默认包,在服务器关闭后从分解的 JAR 中删除了资源(依赖树),将依赖树移动到 /lib/mule/resources(共享),然后我们修改了 classloader-model 中的“uri”。展开的应用程序 (JAR) 中的 json。然后我们启动了服务器,应用程序工作正常。这似乎可行,但会迫使我们在部署某些东西时启动和停止服务器。我们希望有一个修复程序仍然允许我们进行热部署。
除了增加我们服务器上的资源之外,还有其他人遇到过这个问题或对如何解决这个问题有任何想法吗?
谢谢!