![](/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.