我在Spring-AMQP中使用異步消息接收器來接收消息。目前只處理帶有JSON內容的郵件,但我還需要使用XML內容處理郵件。我目前的執行MessageListener
有MessageConverter
注入並使用它在onMessage(Message)
,就像這樣:是否有可能在Spring AMQP中有一個處理多種內容類型的異步消息接收器?
MyMessage myMessage = (MyMessage) jsonConverter.fromMessage(message);
爲了支持不同的內容類型,我可以明顯地使用MessageProperties
詢問內容類型頭和手動選擇轉換器使用。但是,這看起來像很多工作,像Spring應該爲這種情況提供更好的支持。我希望找到一個通用的MessageConverter
實現,它將從內容類型映射到特定的轉換器,但似乎沒有這樣的事情。
是寫一個這樣的委託轉換器我最好的選擇?或者是有到ListenerContainer
配置以支持異步接收和在需要時自動使用多個轉換器的方法嗎?
謝謝,@加里 - 拉塞爾。爲了確保我理解清楚,你說現在唯一的選擇是編寫一個基於消息內容類型選擇的委託/複合轉換器。正確? –
我有一個基本的委託轉換器工作;這幾乎是微不足道的,因此,審閱並遵循項目準則需要的時間比實際撰寫時間要長;-)哦,我也必須寫一些單元測試。所以我很樂意貢獻它,但現在可能不太可能。 –
是的,這是目前唯一的選擇。沒問題。 –