All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.jooby.kafka.KafkaModule Maven / Gradle / Ivy

The newest version!
/*
 * Jooby https://jooby.io
 * Apache License Version 2.0 https://jooby.io/LICENSE.txt
 * Copyright 2014 Edgar Espina
 */
package io.jooby.kafka;

import edu.umd.cs.findbugs.annotations.NonNull;
import io.jooby.Extension;
import io.jooby.Jooby;

/**
 * Kafka module: https://jooby.io/modules/kafka.
 *
 * 

Usage: * *

{@code
 * {
 *   install(new KafkaModule());
 *
 *   get("/", ctx -> {
 *     KafkaConsumer producer = require(KafkaConsumer.class);
 *     // work with consumer
 *
 *     KafkaProducer producer = require(KafkaProducer.class);
 *     // work with producer
 *   });
 * }
 * }
* * application.conf: * *
{@code
 * kafka.producer.bootstrap.servers = "localhost:9092"
 * kafka.producer.acks = "all"
 * kafka.producer.retries = 0
 * kafka.producer.key.serializer = "org.apache.kafka.common.serialization.StringSerializer"
 * kafka.producer.value.serializer = "org.apache.kafka.common.serialization.StringSerializer"
 * }
* * Creates a new kafka consumer module using the kafka.consumer property key. This key * must be present in the application configuration file, like: * *
{@code
 * kafka.consumer.bootstrap.servers = "localhost:9092"
 * kafka.consumer.group.id = "group A"
 * kafka.consumer.key.deserializer = "org.apache.kafka.common.serialization.StringDeserializer"
 * kafka.consumer.value.deserializer = "org.apache.kafka.common.serialization.StringDeserializer"
 * }
* * @author edgar * @since 2.9.3 */ public class KafkaModule implements Extension { private final String producerKey; private final String consumerKey; /** * Creates a new kafka producer module using the kafka.producer and * kafka.consumer property keys. */ public KafkaModule() { this("kafka.producer", "kafka.consumer"); } /** * Creates a new kafka producer module. * * @param producerKey Database key * @param consumerKey Database key */ public KafkaModule(@NonNull String producerKey, @NonNull String consumerKey) { this.producerKey = producerKey; this.consumerKey = consumerKey; } @Override public void install(@NonNull Jooby application) { new KafkaConsumerModule(consumerKey).install(application); new KafkaProducerModule(producerKey).install(application); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy