我有两个mule项目,每个项目引用一个域项目。
域项目包含常见的HTTP侦听器配置。
我正在尝试使用Mule Standalone Server部署应用程序。当我将zip文件放在MULE_HOME下的“app”文件夹中时,我发现应用程序已部署但我无法使用 SOAP UI 检索响应。
它给出了“端点没有听众”作为回应。
但如果我将zip文件放在MULE_HOME下的“domain”文件夹中,我发现一切正常。
任何人都可以帮助我了解这个Mule独立服务器内部如何为两种类型的应用程序工作 - 一个域名为“默认”,另一个域名是否与其相关联?
此外,在使用特定域部署应用程序时,我发现zip文件名应该与域project- test_domain_project(此处)相同。否则会出错。为什么会这样?
我使用的是Mule Enterprise Standalone Server 3.8版。
答案 0 :(得分:2)
您可以通过两种方式部署域:
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 doc中记录的内容。
当我将zip文件放在MULE_HOME下的“app”文件夹中时,我 发现应用程序已部署但我无法检索 使用SOAP UI进行响应。
您是否在MULE_HOME/apps/
文件夹下部署了所有zip文件(包括域zip文件)?这不会起作用:您必须将您的域zip文件放在domains/
文件夹下,并将应用程序zip文件放在apps/
文件夹下
但如果我把zip文件放在MULE_HOME下的“domain”文件夹中,我 发现一切正常。
您可能正在将应用+域名部署为捆绑(我描述的第二种方式),因此它可以正常工作;)
此外,在使用特定域部署应用程序时,我 发现zip文件名应该与域项目相同 - test_domain_project(在这里)。否则会出错。为什么会这样?
我怀疑(虽然没有记录) Mule将使用应用程序或域zip文件名作为应用程序/域名本身,忽略.xml文件中配置的名称。例如,如果您创建名为' my-banana-domain' 的域,但重命名zip文件' my-pear-domain.zip' 并部署它,Mule将创建一个域文件夹' my-pear-domain' 并注册名为' my-pear-domain&的域名#39; 。不过,您的应用仍与' my-banana-domain' 有关联,但Mule只会有一个名为' my-pear-domain&#39的域名;
TL; DR Mule使用域zip文件名作为域名来关联应用程序,从而导致错误。