![](/img/trans.png)
[英]Can we get the value from Kafka using key? How we can pass header in Kafka Message?
[英]How to get multiple objects from one Kafka message using Header
我想從一條消息(來自同一主題)中反序列化不同的對象,並根據 object 類型將其保存/更新到數據庫中的相應表。 正如 Gary 在這里提到的,我可以使用標題來提供我的 object 必須反序列化的類型的信息。 你能提供如何實現這一目標的例子嗎?
請參閱此處的示例 02。
樣品 2
這個示例演示了一個簡單的生產者和一個多方法的消費者; 生產者發送
Foo1
和Bar1
類型的對象,消費者接收Foo2
和Bar2
類型的對象(對象具有相同的字段foo
)。
生產者使用
JsonSerializer
; 消費者使用ByteArrayDeserializer
以及ByteArrayJsonMessageConverter
,后者轉換為偵聽器方法參數的所需類型。 在這種情況下我們無法推斷類型(因為類型用於選擇要調用的方法)。 因此,我們在生產者和消費者端配置類型映射。 請參閱生產者端的application.yml
和消費者端的converter
bean。
MultiMethods
@KafkaListener
有 3 個方法; 一個用於每個已知對象,一個用於其他對象的后備默認方法。
運行應用程序並使用 curl 發送一些數據:
$ curl -X POST http://localhost:8080/send/foo/bar
$ curl -X POST http://localhost:8080/send/bar/baz
$ curl -X POST http://localhost:8080/send/unknown/xxx
安慰:
Received: Foo2 [foo=bar]
Received: Bar2 [bar=baz]
Received unknown: xxx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.