![](/img/trans.png)
[英]How read properties from mule-app.properties in standalone deploy?
[英]How to read properties from .properties file in Mule
我正在尝试使用Mule Credentials Vault安全功能。 我已经创建了.properties文件,安全属性占位符,并定义了密钥和加密算法。 现在,当我返回HTTP响应时,我想使用文件中的某些属性。
我有文件src / main / resources / data.properties ,其中包含例如:
在我的画布中,在配置XML下添加了:
<secure-property-placeholder:config name="Secure_Property_Placeholder" key="24681357" location="data.properties" doc:name="Secure Property Placeholder" encryptionAlgorithm="DES"/>
<set-variable variableName="card.number" value="${number}" />
在我的画布中,我具有构建xml“基于用户创建XML响应”的消息流。 设置中的值为:
这行不通。 我得到的错误是:
-> org.mule.module.launcher.DeploymentInitException: IllegalArgumentException: Could not resolve placeholder 'key' in string value "${key}"
-> Caused by: org.mule.api.lifecycle.InitialisationException: Invalid bean definition with name 'org.mule.autogen.bean.13' defined in null: Could not resolve placeholder 'key' in string value "${key}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'key' in string value "${key}"
-> Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'key' in string value "${key}"
有谁知道如何从.properties文件(凭证保险库)中读取属性? 然后在我的流程中使用它?
谢谢,可人
如果只想获取属性number
的值并将其添加到XML中,则可以使用.properties中的 $ {number}。 无需在Configuration XML中定义任何其他变量。
<set-payload value="<user><name>Royal Bank of Canada</name><id>Royal_Bank_Of_Canada</id><cc><company>>Visa</company><number>${number}</number><secret>123</secret></cc></user>" doc:name="Set Payload"/>
但是请注意,属性占位符在启动时已解析,因此您将无法基于某些用户输入来动态检索属性。 为此,您将必须执行一些Java编码。 这样的SO帖子为您提供了一些有关如何实现的提示。 基于这些答案,我创建了一个简单的示例 ,说明如何使用非常简单的辅助bean完成此操作。
恐怕你做不到。 Mule Credentials Vault是一项企业功能,因此,除非您是MuleSoft客户,否则通常您将无法访问源代码。
即使您是客户,您所使用的api仍然不受支持。 我建议手动创建一个自定义的Java组件,使您的代码和Jasypt保持一致(不是作为属性占位符,而是作为库)。
如果您是客户,另一种选择(我想您已经在使用凭据保险库)是与官方支持联系,以便他们为您解决。
属性占位符在启动时用于解析,因此您将无法基于某些用户输入来动态检索属性。
在MEL中使用$ .property中的$ {propertyName}访问特定属性
从Dataweave中,您可以按照p('variablename')的说明读取它,其中变量名在属性文件中定义,例如:variablename = 15
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.