2016-07-15 21 views
0

我正在輪詢服務激活器的文件,使用PseudoTransactionManager將它們移動到已處理/失敗的目錄中。 如果/當移動失敗時,我想記錄這個,包括文件名。因爲傳遞給消息流的信息是消息對象,所以我嘗試將文件名豐富到它的頭上,但是當我們爲每一步創建它的副本時,除非我可以移動頭 - 入站通道適配器和事務管理器之間的集成。如何通過僞事務管理器傳遞消息頭?

在簡化的形式的主流程我現在有是這樣的:

  • 入站通道適配器 - >一)首標富集 - >服務 - 活化劑

因爲我想要的文件移動到一個處理失敗或目錄中,有一個第二流動:

  • 入站通道適配器 - > b)中的僞交易管理器 - >測井通道適配器(在問題的情況下移動所述親簡要文件)。

我認爲這是因爲事務管理器定義嵌套在xml的通道適配器定義中。

如何將此信息通過此處的示例設置傳遞給日誌記錄通道適配器?

回答

0

交易內容只能訪問原始郵件。您可以將一個error-channel添加到輪詢器;默認錯誤通道(errorChannel)是一個發佈/訂閱通道,並且具有一個訂閱它的日誌通道適配器。

當發生異常時,ErrorMessage被髮送到錯誤通道(如果已配置);有效載荷是MessagingException,其中causefailedMessage屬性。 failedMessage是發生故障時的消息。

默認錯誤流將簡單地記錄消息,以便您的「事務」將「提交」。

相反,您需要自定義錯誤流程;記錄你想要的,然後重新拋出原因,你的「交易」將「回滾」。

相關問題