1

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

在此处输入图像描述

域项目包含常见的 HTTP 侦听器配置。

我正在尝试使用 Mule 独立服务器部署应用程序。当我将 zip 文件放在 MULE_HOME 下的“app”文件夹中时,我发现应用程序已部署,但我无法使用SOAP UI检索响应。

它给出“端点没有监听器”作为响应。

但是,如果我将 zip 文件放在 MULE_HOME 下的“域”文件夹中,我发现一切正常。

谁能帮助我了解这个 Mule 独立服务器如何在内部为两种类型的应用程序工作——一种是“默认”域,另一种是与它关联的特定域?

此外,在使用特定域部署应用程序时,我发现 zip 文件名应该与域项目相同 - test_domain_project(here)。否则会报错。为什么会这样?

我正在使用 Mule Enterprise Standalone Server 3.8 版。

在此处输入图像描述

4

1 回答 1

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/

我恢复了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 文件名作为关联应用程序的域名,因此您的错误。

于 2017-08-24T08:44:35.243 回答