2016-03-09 42 views
0

初始化一個bean我有我想從一個全局屬性如何用騾子全局屬性

<global-property name="logging.prefix" value="#[message.id]-Task-#[message.inboundProperties.'http.query.params'.TaskId] - " doc:name="Global Property"/> 
<spring:beans> 
    <spring:bean id="MyBean" name="MyBean" class="com.my.bean" > 
     <spring:constructor-arg index="0" type="String" name="logPrefix" value="${logging.prefix}"> 
      <spring:description>Logging prefix</spring:description> 
     </spring:constructor-arg> 
    </spring:bean> 
</spring:beans> 

初始化當我的豆構建,我得到的字符串字面的MEL表達的豆。當我在流中引用$ {logging.prefix}時,我得到了評估的MEL。有沒有辦法讓我初始化我的bean,而不用在我的bean構造函數和全局屬性中重複MEL表達式?

我試過#[$ {logging.prefix}],它也沒有工作。

編輯

我試圖複製在bean構造函數的值屬性的MEL表達,這也通過字面

<spring:constructor-arg index="0" type="String" name="logPrefix" value="#[message.id]-Task-#[message.inboundProperties.'http.query.params'.TaskId] - "> 

回答

0

好了,所以我沒有想到 - 消息僅在存在我的工作流程範圍解釋了爲什麼我無法在全球範圍內訪問它。

所以解決方法是將MEL表達式作爲參數傳遞給在我的bean上調用的函數。