2

我们在 TIBCO 中有全局变量概念,我们在 Mulesoft 中有相同的概念吗?

就像设置一个全局变量,以便在运行时或部署期间基于环境。Mulesoft 有没有类似的案例

4

5 回答 5

4

可以为每个 mule 应用程序设置全局属性,也可以设置环境变量以覆盖和设置特定于环境的属性。这些可以单独配置,也可以设置环境变量以加载每个环境的特定属性文件。所有信息都在此处的文档中:https ://docs.mulesoft.com/mule-runtime/4.2/configuring-properties

于 2019-07-23T13:46:08.723 回答
3

对于每个 Mule 应用程序,都有可以相应配置的全局属性。在 Mule 4 中,他们称之为“属性占位符”,其值可以通过多种方式获得。因此我们可以使用全局属性语法来引用 .yaml 或 .properties 文件,并根据配置属性创建新的全局属性。

有关更多信息,请参阅

于 2019-11-06T05:48:40.690 回答
1

如果你问的是全局变量?然后它与 mule 3 有更多关系。在 Mule 3 中,我们有一个会话、本地、全局变量可以使用,基于使用范围。在 mule 4 中,没有全局变量和局部变量的概念。mule 4 中声明的所有变量都具有全局范围。这意味着您可以跨所有流、子流、XML 文件访问它。注意:Mule 消息负载的范围不是全局的。

所有其他答案都讨论了使用属性占位符(mule 3 概念)和全局元素中的全局配置的属性参数化。

我相信你必须改变这个问题。不要将您在运行时传递的值称为“全局变量”。全局变量是一个完全不同的概念。

于 2020-07-12T06:42:58.687 回答
0

Mule 4 继承了早期运行时版本的全局变量或在少数通用术语中称为“属性占位符”的遗留物:

Mule ESB 的这一方面主要用于将值放置到特定于环境的变量中,并且在常见情况下用于维护抽象和安全性: 属性占位符:

<smtp:outbound-endpoint user="${smtp.username}" password="${smtp.password}"/>

全局属性:

<global-property name="smtp.host" value="smtp.mail.com"/>
<global-property name="smtp.subject" value="Subject of Email"/>

属性文件:

<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
          http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd">

<context:property-placeholder location="smtp.properties"/>

<flow name="myProject_flow1">
    <logger message="${propertyFromFile}" doc:name="System Property Set in Property File"/>
</flow>

要保存多个属性文件:

<context:property-placeholder location="email.properties,http.properties,system.properties"/>

消息属性:

#[message.inboundProperties['Content-Type']]

来自操作系统或一般情况下的系统属性环境变量: 一般:${variableName} 来自操作系统:<logger message="${USER}" doc:name="Environment Property Set in OS" />

Cloud Hub 中全局引用变量的属性:登录到您的 Anypoint 平台帐户。1. 前往云集。2. 单击部署应用程序以部署新应用程序,或选择正在运行的应用程序并单击管理应用程序。3. 在设置部分中选择属性选项卡。

参考:https ://docs.mulesoft.com/mule-runtime/{Runtime-version}/configuring-properties

于 2019-10-27T22:16:31.153 回答
0

在 Mulesoft 中,我们称之为运行时变量。我们在 Mulesoft 中创建了一些称为属性文件的文件,这些文件是特定于环境的。例如

如果我们在开发环境中部署我们的 Mulesoft API,则创建一个名为“dev.properties”的文件。在此文件中添加我们在下面部署时需要的所有属性

api.host=abc api.port=8081

现在在您的主界面中添加一个全局配置来读取此文件,如下所示#

<configuration-properties
        doc:name="env file properties configuration"
        doc:id="010e36f9-1ef3-4104-b42f-21d2d4012ef7"
        file="properties/${mule_env}.properties"
        doc:description="Global configuration to specify environmnet property files" />

这里 mule_env=environment name 因为这里的 dev 将从您的 API 部署过程中读取(在 dev-ops 的帮助下,您可以在脚本中设置它)

于 2021-01-25T17:44:02.130 回答