1

我有一个骡子应用程序,需要部署在不同的服务器上。我对设置基于 HTTP 的端点地址的主机名有疑问

主机名是否应该来自属性文件,在构建时根据构建应用程序的环境替换它——

    Example --
    http:inbound-endpoint address="http://${host.name}:61005/my/service" exchange-pattern="request-response"

或者是否可以使用主机名作为 localhost 构建可部署的应用程序并在部署时替换它

    Example --
    http:inbound-endpoint address="http://localhost:61005/my/service" exchange-pattern="request-response"

提前致谢。

4

2 回答 2

4

您可以使用 0.0.0.0 作为主机,它将侦听服务器的每个网络接口:

<http:inbound-endpoint address="http://0.0.0.0:61005/my/service" exchange-pattern="request-response" />

这意味着,例如,如果您的服务器的 IP 为 192.168.0.1,它将自动在http://192.168.0.1:61005/my/service/

它将使您免于配置部署文件。

于 2012-11-10T01:00:42.253 回答
2

属性文件可以正常工作,但请记住 Spring 的 Property Placeholder Resolver 也可以从 Java 系统属性中获取值,因此您可以${host.name}在启动时提供值:

mule -M-Dhost.name=$HOSTNAME
于 2012-11-08T18:03:36.377 回答