2016-05-13 77 views
0

我有一個流定義爲流create --name foo --definition samplesource | sampleprocessor | samplesink --deploy。我使用Redis作爲MessageBus。如何在springxd運行時獲取通道名稱

如果sampleprocessor或samplesink失敗,則xd會將失敗的消息推送到Redis:foo.n隊列中。我正在編寫代碼將錯誤隊列中的消息發送到foo.n.

這裏的挑戰是我不想在我的代碼中對流名稱進行硬編碼,因爲這部分代碼是在我所有的xd模塊中處理的。

我們可以隨時獲得頻道名稱嗎?

在此先感謝

回答

0

我在寫代碼...

哪裏該代碼將運行?

如果它流在模塊內,模塊的元數據通過應用程序上下文環境屬性可用:

${xd.group.name} 
    ${xd.module.label} 
    ${xd.module.type} 
    ${xd.module.sequence} 
+0

我們建立一個獨立的XD流(errorsrc | errsink)從RedisBus讀取ERR留言並將它們推送到目標隊列。所以我需要從該XD env中定義的所有流中的所有隊列。 –

相關問題