如何Assertpojo序列化密钥

tkclm6bt  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(258)

我有一些微服务可以操作json对象,并使用kafka作为代理(数据pepelines实现…)。

service1 consume message 1 => transform it to message 2 => publish message 2
Service2 consume message 2 => transform it to message 3 => publish message 3
Service3 consume message 3 => transform it to message 4 => publish message 4

生成的消息具有序列化键和json值。
在我的用例中,这些键确保了消息的唯一性,还传输了一些有用的信息。
我试着用zerocode测试消息值。
遵循zerocode文档,我可以在属性中指定键和值序列化程序。

key.serializer=org.apache.kafka.common.serialization.StringSerializer
value.serializer=org.apache.kafka.common.serialization.StringSerializer

序列化键如下所示:

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class Key {

    private String subject;
    private String source;
    private int num;
    private int tot;

}

我不确定这是否有效,因为密钥不是json而是序列化的pojo:

{
           "name": "consume_step",
           "url": "kafka-topic:demo-json1",
           "operation": "consume",
           "request": {
               "consumerLocalConfigs": {
                   "recordType": "JSON",
                   "commitSync": true,
                   "showRecordsConsumed": true,
                   "maxNoOfRetryPollsOrTimeouts": 3
               }
           },
           "assertions": {
               "size": 1,
               "records": [
                   {
"key" : { 
"num" : "1234"
},
                       "value": {
                           "name": "Nicola"
                       }
                   }
               ]
           }
       }

我需要Assert消息1 2 3 4值。每个Assert将取决于键属性-如何Assert自定义序列化键并将其用作Assert值的筛选器?
-这个用例可以用一个场景和4个步骤来完成吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题