bootique-kafka-client: Bootique wrapper for Kafka client for brokers version 0.10 and newer

Provides integration of various versions of Kafka clients with Bootique

Лицензия

Лицензия

Категории

Категории

CLI Взаимодействие с пользователем Bootique Веб-фреймворки
Группа

Группа

io.bootique.kafka.client
Идентификатор

Идентификатор

bootique-kafka-client
Последняя версия

Последняя версия

0.25
Дата

Дата

Тип

Тип

jar
Описание

Описание

bootique-kafka-client: Bootique wrapper for Kafka client for brokers version 0.10 and newer
Provides integration of various versions of Kafka clients with Bootique
Организация-разработчик

Организация-разработчик

ObjectStyle LLC

Скачать bootique-kafka-client

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/io.bootique.kafka.client/bootique-kafka-client/ -->
<dependency>
    <groupId>io.bootique.kafka.client</groupId>
    <artifactId>bootique-kafka-client</artifactId>
    <version>0.25</version>
</dependency>
// https://jarcasting.com/artifacts/io.bootique.kafka.client/bootique-kafka-client/
implementation 'io.bootique.kafka.client:bootique-kafka-client:0.25'
// https://jarcasting.com/artifacts/io.bootique.kafka.client/bootique-kafka-client/
implementation ("io.bootique.kafka.client:bootique-kafka-client:0.25")
'io.bootique.kafka.client:bootique-kafka-client:jar:0.25'
<dependency org="io.bootique.kafka.client" name="bootique-kafka-client" rev="0.25">
  <artifact name="bootique-kafka-client" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.bootique.kafka.client', module='bootique-kafka-client', version='0.25')
)
libraryDependencies += "io.bootique.kafka.client" % "bootique-kafka-client" % "0.25"
[io.bootique.kafka.client/bootique-kafka-client "0.25"]

Зависимости

compile (3)

Идентификатор библиотеки Тип Версия
org.apache.kafka : kafka-clients jar 0.11.0.0
org.slf4j : slf4j-api jar 1.7.25
io.bootique : bootique jar 0.25

test (3)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
org.mockito : mockito-core jar 2.15.0
io.bootique : bootique-test jar 0.25

Модули Проекта

Данный проект не имеет модулей.

Build Status Maven Central

bootique-kafka

Integration of Kafka client and Kafka streams for Bootique. See usage examples:

Dependencies

Include the BOMs and then bootique-kafka-client:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>io.bootique.bom</groupId>
            <artifactId>bootique-bom</artifactId>
            <version>2.0.M1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
...

<!-- If using Producer and/or Consumer -->
<dependency>
	<groupId>io.bootique.kafka</groupId>
	<artifactId>bootique-kafka-client</artifactId>
</dependency>

<!-- If using streams -->
<dependency>
	<groupId>io.bootique.kafka</groupId>
	<artifactId>bootique-kafka-streams</artifactId>
</dependency>

Producer/Consumer Configuration

Configure parameters in the YAML. Note that practically all of these settings can be overidden when obtaining a specific Producer or Consumer instance via io.bootique.kafka.client.KafkaClientFactory. So this is just a collection of defaults for the most typical Producer or Consumer:

kafkaclient:
  # any number of named clusters, specifying comma-separated bootstrap Kafka servers for each.
  clusters:
    cluster1: 127.0.0.1:9092
    cluster2: host1:9092,host2:9092
  consumer:
    autoCommit: true
    autoCommitInterval: "200ms"
    defaultGroup: myappgroup
    sessionTimeout: "2s"
  producer:
    acks: all # values are "all" or numeric number for min acks
    retries: 1
    batchSize: 16384
    linger: "1ms"
    bufferMemory: 33554432

Now you can inject producer and consumer factories and create any number of producers and consumers. Producer example (also see this code sample) :

@Inject
KafkaProducerFactory factory;

public void runProducer() {

    Producer<byte[], String> producer = factory
        .charValueProducer()
        .cluster("cluster2")
        .create();

    producer.send(new ProducerRecord<>("mytopic", "Hi!"));

    // close if there's nothing else to send
    producer.close();
}

Consumer example (also see this code sample) :

@Inject
KafkaConsumerFactory factory;

public void runConsumer() {
    
    KafkaConsumerRunner<byte[], String> consumer = factory
        .charValueConsumer()
        .cluster("cluster1")
        .group("somegroup")
        .topic("mytopic")
        .pollInterval(Duration.ofSeconds(1))
        .create();

    for (ConsumerRecord<byte[], String> r : consumer) {
        System.out.println(r.topic() + "_" + r.partition() + "_" + r.offset() + ": " + r.value());
    }

    consumer.close();
}

Streams Configuration

TODO

io.bootique.kafka.client

Bootique Project

Bootique is a minimally opinionated platform for modern runnable Java apps

Версии библиотеки

Версия
0.25
0.24
0.5
0.4
0.3
0.2