kafka-client

null

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

com.mageddo.kafka-client
ArtifactId

ArtifactId

kafka-client
Last Version

Last Version

1.0.2
Release Date

Release Date

Type

Type

jar
Description

Description

kafka-client
null
Project URL

Project URL

https://github.com/mageddo-projects/kafka-client
Source Code Management

Source Code Management

https://github.com/mageddo-projects/kafka-client

Download kafka-client

How to add to project

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

Dependencies

compile (2)

Group / Artifact Type Version
net.jodah : failsafe jar 2.3.5
org.apache.kafka : kafka-clients jar 2.5.0

test (2)

Group / Artifact Type Version
org.junit.jupiter : junit-jupiter jar 5.6.2
org.mockito : mockito-junit-jupiter jar 3.3.3

Project Modules

There are no modules declared in this project.

Rapids Kafka Client

Kafka Client is a vanilla java library that makes it easy to consume data from kafka, a list of features:

  • Parallel consuming
  • Consuming retry
  • Consuming failover
  • Designed to be easy to mock and test
  • Designed to support slow consumers without kafka re balancing
  • Designed to high throughput usage
  • Individual record consuming
  • Batch records consuming
  • Frameworkless, but easily configurable to someone
  • Commits are managed for you based on behavior

Getting Started

compile 'com.mageddo.kafka-client:rapids-kafka-client:1.0.2'
Consumers.<String, String>builder()
.prop(KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName())
.prop(VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName())
.prop(GROUP_ID_CONFIG, "stocks")
.topics("stock_changed")
.recoverCallback(ctx -> {
  // here you can send the message to another topic, send a SMS, etc.
  log.info("status=recovering, value={}", ctx.record().value());
})
.callback((ctx, record) -> {
  log.info("status=consumed, value={}", record.value());
})
.build()
.consume()
.waitFor();

Examples

com.mageddo.kafka-client

Mageddo

Versions

Version
1.0.2
1.0.1
1.0.0