問題的上下文是:當我使用set變量時,datamapper在下拉列表中識別並顯示變量,但當使用Message Properties轉換器設置調用變量時,它永遠不會顯示。 這是正常的嗎?使用消息屬性變量和設置變量變量設置的調用變量之間的區別?
回答
消息屬性變換器是將不同範圍的變量/屬性添加到消息的舊方法。
Mule改進了消息屬性變換器並將其拆分爲<set-variable>
,<set-property>
和<set-session-variable>
變換器。 除了明確的功能分離之外,當查看流程圖時,這使得流程更具可讀性和可理解性。
要記住的一點是,消息屬性默認將屬性添加到出站作用域。如果您想將其添加到必須在scope屬性中提及的調用作用域中。
<message-properties-transformer scope="invocation">
<add-message-property key="someKey" value="someValue"/>
</message-properties-transformer>
希望這會有所幫助。
將範圍設置爲「調用」本身後,我看到此行爲。另一種觀察是,如果我在groovy腳本中創建一個調用變量,datamapper不會識別。似乎只有set-variable對於datamappers可見。 – shrinathM 2014-10-10 06:03:33
請編輯答案以修復缺少的變壓器名稱。 – 2014-10-10 17:59:47
@RyanHoegg感謝您的觀察。我現在正確地編輯它。 :) – user1760178 2014-10-10 18:28:23
不,這是不正常的。
確保在消息屬性變換器上使用invocation
作用域。
我做過大衛。另外,如果在Groovy腳本中設置了任何調用變量,則該變量不會顯示在datamapper下拉列表中。只有從set-variable設置的變量纔會顯示。這裏我只關心調用變量。我沒有試驗其他變量。 – shrinathM 2014-10-10 06:06:03
感覺像一個bug然後:在https://www.mulesoft.org/jira打開一個JIRA並且正如user1760178所說的那樣,'message-properties-transformer'是舊東西,反正你應該使用'set-variable'。 – 2014-10-10 15:43:52
我認爲您要查找的Data Mapper功能稱爲Data Sense,我不認爲它能夠從groovy腳本獲取所需的元數據。應該可以將它添加到消息屬性轉換器中。 – 2014-10-10 17:59:11
- 1. **變量和變量[] []之間的區別?
- 2. 使用__init__和設置類變量之間的區別
- 3. 使用變量設置變量 - 批次
- 4. Sass - 使用變量設置變量
- 5. JSP使用GET變量設置變量
- 6. 從變量設置變量?
- 7. 使用變量設置XML屬性
- 8. 設置變量
- 9. 設置變量
- 10. 設置變量
- 11. bash中未設置和空變量之間的區別
- 12. 用'變量'名稱設置屬性
- 13. 設置變量值jQuery的消息+ jquery.validate
- 14. 使用argv設置變量
- 15. 使用keyup設置變量()
- 16. 使用變量設置rst
- 17. 使用保存的會話變量讀取和設置變量
- 18. 類別變量未設置
- 19. 取消設置變量
- 20. 取消設置組變量
- 21. Ruby的類變量和實例變量之間的區別
- 22. 從變量設置類(自)變量?
- 23. 對象變量或變量未設置
- 24. 設置變量無法覆蓋變量
- 25. 根據其他變量設置變量
- 26. 設置javascript變量等於Storyline變量?
- 27. PLSQL綁定變量和主機變量之間的區別
- 28. TypeScript - 私有變量和受保護變量之間的區別
- 29. jQuery緩存元素,$變量和變量之間的區別?
- 30. if(!!變量)和if(變量)之間的區別?
請注意,DataMapper是企業版功能,因此您應該能夠獲得MuleSoft的專業支持。 – 2014-10-10 18:19:34