use of org.sdase.commons.server.kafka.serializers.KafkaJsonSerializer in project sda-dropwizard-commons by SDA-SE.
the class KafkaBundleWithConfigIT method testJsonSerializer.
@Test
public void testJsonSerializer() {
String topic = "testJsonSerializer";
KAFKA.getKafkaTestUtils().createTopic(topic, 1, (short) 1);
kafkaBundle.createMessageListener(MessageListenerRegistration.builder().withDefaultListenerConfig().forTopic(topic).withDefaultConsumer().withValueDeserializer(new KafkaJsonDeserializer<>(new ObjectMapper(), SimpleEntity.class)).withListenerStrategy(new SyncCommitMLS<>(x -> resultsString.add(x.value().getName()), new IgnoreAndProceedErrorHandler<>())).build());
MessageProducer<Object, SimpleEntity> prod = kafkaBundle.registerProducer(ProducerRegistration.builder().forTopic(topic).withDefaultProducer().withValueSerializer(new KafkaJsonSerializer<SimpleEntity>(new ObjectMapper())).build());
SimpleEntity a = new SimpleEntity();
a.setName("a");
SimpleEntity b = new SimpleEntity();
b.setName("b");
prod.send("Test", a);
prod.send("Test", b);
await().atMost(KafkaBundleConsts.N_MAX_WAIT_MS, MILLISECONDS).until(() -> resultsString.size() == 2);
assertThat(resultsString).containsExactlyInAnyOrder("a", "b");
}
Aggregations