在独立Mule Server中部署Mule域项目

时间:2017-08-23 09:10:36

标签: deployment mule mule-studio mule-component mule-esb

我有两个mule项目,每个项目引用一个域项目。

enter image description here

域项目包含常见的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版。

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以通过两种方式部署域:

  1. 首先在MULE_HOME/domains文件夹中部署您的域,然后在MULE_HOME/apps文件夹中部署您的应用。在这种情况下,您需要首先部署您的域,然后部署您的应用程序(或在Mule停止时复制其相应文件夹中的域和应用程序,在启动时Mule将确保首先部署域)
  2. MULE_HOME/domains中将您的域部署为捆绑包。您的应用需要"捆绑"在您的域中,这意味着应用程序zip包需要包含在您的域zip包中。您的my-domain.zip文件将包含以下内容: |- mule-domain-config.xml |- apps/ | |- my-app.zip | |- another-app.zip |- lib/
  3. 我恢复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文件名作为域名来关联应用程序,从而导致错误。