您可以通过两种方式部署域:
- 首先在文件夹中部署您的域
MULE_HOME/domains
,然后在文件夹中部署您的应用程序MULE_HOME/apps
。在这种情况下,您需要先部署您的域,然后是您的应用程序(或在 Mule 停止时将域和应用程序复制到其相应文件夹中,在启动时 Mule 将确保首先部署域)
- 将您的域部署为
MULE_HOME/domains
. 您的应用需要“捆绑”在您的域中,这意味着应用 zip 包需要包含在您的域 zip 包中。然后,您的 my-domain.zip 文件将包含以下内容:
|- mule-domain-config.xml
|- apps/
| |- my-app.zip
| |- another-app.zip
|- lib/
我恢复了Mule Shared Resources 文档中记录的内容。
当我将 zip 文件放在 MULE_HOME 下的“app”文件夹中时,我发现应用程序已部署,但我无法使用 SOAP UI 检索响应。
您是否在文件夹下部署所有 zip 文件(包括域 zip 文件)MULE_HOME/apps/
?这不起作用:您必须将域 zip 文件放在domains/
文件夹下,并将应用程序 zip 文件放在apps/
文件夹下
但是,如果我将 zip 文件放在 MULE_HOME 下的“域”文件夹中,我发现一切正常。
您可能正在将您的应用程序+域部署为捆绑包(我描述的第二种方式),所以它工作正常;)
此外,在使用特定域部署应用程序时,我发现 zip 文件名应该与域项目相同 - test_domain_project(here)。否则会报错。为什么会这样?
我怀疑(尽管没有记录)Mule 将使用应用程序或域 zip 文件名作为应用程序/域名本身,而忽略 .xml 文件中配置的名称。例如,如果您创建一个名为“my-banana-domain”的域,但将 zip 文件重命名为“my-pear-domain.zip”并部署它,Mule 将创建一个域文件夹“my-pear-domain”并注册一个名为'my-pear-domain' 的域。但是,您的应用程序仍将与'my-banana-domain'关联,但 Mule 将只有一个名为'my-pear-domain' 的域。
TL;DR Mule 使用域 zip 文件名作为关联应用程序的域名,因此您的错误。