Search in sources :

Example 1 with KafkaJsonSerializer

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");
}
Also used : AutocommitMLS(org.sdase.commons.server.kafka.consumer.strategies.autocommit.AutocommitMLS) Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) MessageListenerRegistration(org.sdase.commons.server.kafka.builder.MessageListenerRegistration) ListenerConfig(org.sdase.commons.server.kafka.config.ListenerConfig) ConsumerRecords(org.apache.kafka.clients.consumer.ConsumerRecords) KafkaHelper(org.sdase.commons.server.kafka.consumer.KafkaHelper) MessageListenerStrategy(org.sdase.commons.server.kafka.consumer.strategies.MessageListenerStrategy) StringDeserializer(org.apache.kafka.common.serialization.StringDeserializer) Map(java.util.Map) StringSerializer(org.apache.kafka.common.serialization.StringSerializer) ClassRule(org.junit.ClassRule) KafkaJsonSerializer(org.sdase.commons.server.kafka.serializers.KafkaJsonSerializer) TopicPartition(org.apache.kafka.common.TopicPartition) Awaitility.await(org.awaitility.Awaitility.await) AfterClass(org.junit.AfterClass) Set(java.util.Set) LongDeserializer(org.apache.kafka.common.serialization.LongDeserializer) MILLISECONDS(java.util.concurrent.TimeUnit.MILLISECONDS) UUID(java.util.UUID) LongSerializer(org.apache.kafka.common.serialization.LongSerializer) List(java.util.List) ConsumerConfig(org.sdase.commons.server.kafka.config.ConsumerConfig) ConfigOverride.config(io.dropwizard.testing.ConfigOverride.config) ConsumerRecord(org.apache.kafka.clients.consumer.ConsumerRecord) IgnoreAndProceedErrorHandler(org.sdase.commons.server.kafka.consumer.IgnoreAndProceedErrorHandler) KafkaConsumer(org.apache.kafka.clients.consumer.KafkaConsumer) ProducerConfig(org.sdase.commons.server.kafka.config.ProducerConfig) ProducerRecord(org.apache.kafka.clients.producer.ProducerRecord) BeforeClass(org.junit.BeforeClass) TestRule(org.junit.rules.TestRule) SharedKafkaTestResource(com.salesforce.kafka.test.junit4.SharedKafkaTestResource) KafkaJsonDeserializer(org.sdase.commons.server.kafka.serializers.KafkaJsonDeserializer) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) WrappedNoSerializationErrorDeserializer(org.sdase.commons.server.kafka.serializers.WrappedNoSerializationErrorDeserializer) KafkaProducer(org.apache.kafka.clients.producer.KafkaProducer) DropwizardAppRule(io.dropwizard.testing.junit.DropwizardAppRule) KafkaTestApplication(org.sdase.commons.server.kafka.dropwizard.KafkaTestApplication) ConfigurationException(org.sdase.commons.server.kafka.exception.ConfigurationException) ProducerRegistration(org.sdase.commons.server.kafka.builder.ProducerRegistration) SyncCommitMLS(org.sdase.commons.server.kafka.consumer.strategies.synccommit.SyncCommitMLS) Before(org.junit.Before) ErrorHandler(org.sdase.commons.server.kafka.consumer.ErrorHandler) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.Test) MessageHandler(org.sdase.commons.server.kafka.consumer.MessageHandler) RuleChain(org.junit.rules.RuleChain) AtomicLong(java.util.concurrent.atomic.AtomicLong) MessageProducer(org.sdase.commons.server.kafka.producer.MessageProducer) ResourceHelpers.resourceFilePath(io.dropwizard.testing.ResourceHelpers.resourceFilePath) MessageListener(org.sdase.commons.server.kafka.consumer.MessageListener) KafkaTestConfiguration(org.sdase.commons.server.kafka.dropwizard.KafkaTestConfiguration) Collections(java.util.Collections) SimpleEntity(org.sdase.commons.server.kafka.serializers.SimpleEntity) KafkaJsonDeserializer(org.sdase.commons.server.kafka.serializers.KafkaJsonDeserializer) IgnoreAndProceedErrorHandler(org.sdase.commons.server.kafka.consumer.IgnoreAndProceedErrorHandler) SimpleEntity(org.sdase.commons.server.kafka.serializers.SimpleEntity) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Test(org.junit.Test)

Aggregations

ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 SharedKafkaTestResource (com.salesforce.kafka.test.junit4.SharedKafkaTestResource)1 ConfigOverride.config (io.dropwizard.testing.ConfigOverride.config)1 ResourceHelpers.resourceFilePath (io.dropwizard.testing.ResourceHelpers.resourceFilePath)1 DropwizardAppRule (io.dropwizard.testing.junit.DropwizardAppRule)1 ArrayList (java.util.ArrayList)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Map (java.util.Map)1 Set (java.util.Set)1 UUID (java.util.UUID)1 MILLISECONDS (java.util.concurrent.TimeUnit.MILLISECONDS)1 AtomicLong (java.util.concurrent.atomic.AtomicLong)1 ConsumerRecord (org.apache.kafka.clients.consumer.ConsumerRecord)1 ConsumerRecords (org.apache.kafka.clients.consumer.ConsumerRecords)1 KafkaConsumer (org.apache.kafka.clients.consumer.KafkaConsumer)1 KafkaProducer (org.apache.kafka.clients.producer.KafkaProducer)1 ProducerRecord (org.apache.kafka.clients.producer.ProducerRecord)1 TopicPartition (org.apache.kafka.common.TopicPartition)1