我正在使用Spring集成使用其入站通道適配器使用RSS訂閱源並將訂閱源寫入數據庫表。Spring Integration Feed入站通道適配器重複條目
爲了防止在進程停止/啓動時出現重複條目,我啓用了PropertiesPersistingMetadataStore。作爲輔助措施,在數據庫表中,我還在Feed ID/Feed條目鏈接列中有一個唯一約束。
這似乎工作正常,但我注意到一些重新啓動(不是所有的時間),我收到一些數據庫異常錯誤,它試圖再次插入相同的RSS源項目。
在什麼樣的條件下,我會得到這些重複的錯誤,無論如何,我可以繞過它們嗎?
謝謝加里。該應用程序正常關閉,所以我認爲該狀態持續,但我同意我需要開始尋找使用Redis。我查看了PropertiesPersistingMetadataStore文檔,它看起來像使用元數據存儲中的最新發布日期。我懷疑發生了什麼是一些飼料,發佈的日期正在更新,因此它又出現了。如果是這種情況,是否容易發現這個異常並使用DSL更新該項目? – Swordfish
您可以將錯誤通道添加到輪詢器,並對錯誤流進行更新(ErrorMessage的有效負載是屬性爲「failedMessage」和「cause」的MessagingException)。或者,您可以將一個['ExpressionEvaluatingRequestHandlerAdvice'](http://docs.spring.io/spring-integration/reference/html/messaging-endpoints-chapter.html#expression-advice)添加到jdbc適配器的端點'adviceChain' 。 –
我希望我們有一天會修復https://jira.spring.io/browse/INT-1810 ...並且這個用例也會被滿足。 –