SpringCloud 訊息轉(zhuǎn)換器

2023-11-27 13:37 更新

MessageConverters定義兩種方法:

Object fromMessage(Message<?> message, Class<?> targetClass);

Message<?> toMessage(Object payload, @Nullable MessageHeaders headers);

重要的是要了解這些方法的約定及其用法,尤其是在Spring Cloud Stream的上下文中。

fromMessage方法將傳入的Message轉(zhuǎn)換為參數(shù)類型。Message的有效載荷可以是任何類型,而MessageConverter的實際實現(xiàn)要支持多種類型。例如,某些JSON轉(zhuǎn)換器可能支持有效負載類型為byte[],String等。當應用程序包含內(nèi)部管道(即輸入→handler1→handler2→....→輸出)并且上游處理程序的輸出結(jié)果為Message時,這可能不是初始連接格式,這一點很重要。

但是,toMessage方法的合同更為嚴格,必須始終將Message轉(zhuǎn)換為有線格式:byte[]。

因此,出于所有意圖和目的(尤其是在實現(xiàn)自己的轉(zhuǎn)換器時),您將這兩種方法視為具有以下簽名:

Object fromMessage(Message<?> message, Class<?> targetClass);

Message<byte[]> toMessage(Object payload, @Nullable MessageHeaders headers);
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號