W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
Spring Cloud Stream公開了定義和注冊其他MessageConverters
的機制。要使用它,請實現(xiàn)org.springframework.messaging.converter.MessageConverter
,將其配置為@Bean
,并用@StreamMessageConverter
進行注釋。然后將其附加到MessageConverter的現(xiàn)有堆棧中。
了解自定義
MessageConverter
實現(xiàn)已添加到現(xiàn)有堆棧的開頭很重要。因此,自定義MessageConverter
實現(xiàn)優(yōu)先于現(xiàn)有實現(xiàn),您可以覆蓋它們并添加到現(xiàn)有轉(zhuǎn)換器中。
下面的示例說明如何創(chuàng)建消息轉(zhuǎn)換器bean以支持稱為application/bar
的新內(nèi)容類型:
@EnableBinding(Sink.class) @SpringBootApplication public static class SinkApplication { ... @Bean @StreamMessageConverter public MessageConverter customMessageConverter() { return new MyCustomMessageConverter(); } } public class MyCustomMessageConverter extends AbstractMessageConverter { public MyCustomMessageConverter() { super(new MimeType("application", "bar")); } @Override protected boolean supports(Class<?> clazz) { return (Bar.class.equals(clazz)); } @Override protected Object convertFromInternal(Message<?> message, Class<?> targetClass, Object conversionHint) { Object payload = message.getPayload(); return (payload instanceof Bar ? payload : new Bar((byte[]) payload)); } }
Spring Cloud Stream還為基于Avro的轉(zhuǎn)換器和模式演變提供支持。有關(guān)詳細信息,請參見“ Schema 進化支持 ”。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: