From d6db20dd022821f012402f012be8d51e68f9757e Mon Sep 17 00:00:00 2001
From: panos-kakos <102670093+panos-kakos@users.noreply.github.com>
Date: Mon, 26 Feb 2024 21:34:40 +0200
Subject: [PATCH] [JAVA-29500] Moved article "Implementing Retry in Kafka
Consumer" to spring-kafka (#15904)
---
spring-kafka-2/README.md | 1 -
spring-kafka-3_/README.md | 2 -
spring-kafka-3_/pom.xml | 34 -----------
.../com/baeldung/spring/kafka/SomeData.java | 37 ------------
.../spring/kafka/ListenerConfiguration.java | 42 --------------
.../spring/kafka/ProducerConfiguration.java | 40 -------------
.../spring/kafka/TrustedPackagesLiveTest.java | 57 -------------------
spring-kafka/README.md | 2 +-
.../baeldung}/kafka/retryable/Farewell.java | 2 +-
.../baeldung}/kafka/retryable/Greeting.java | 2 +-
.../kafka/retryable/KafkaConsumerConfig.java | 3 +-
.../kafka/retryable/KafkaProducerConfig.java | 2 +-
.../kafka/retryable/KafkaTopicConfig.java | 2 +-
.../retryable/MultiTypeKafkaListener.java | 2 +-
.../RetryableApplicationKafkaApp.java | 2 +-
.../resources/application-retry.properties | 0
.../KafkaRetryableIntegrationTest.java | 18 ++----
17 files changed, 14 insertions(+), 234 deletions(-)
delete mode 100644 spring-kafka-3_/README.md
delete mode 100644 spring-kafka-3_/pom.xml
delete mode 100644 spring-kafka-3_/src/main/java/com/baeldung/spring/kafka/SomeData.java
delete mode 100644 spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ListenerConfiguration.java
delete mode 100644 spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ProducerConfiguration.java
delete mode 100644 spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/TrustedPackagesLiveTest.java
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/Farewell.java (94%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/Greeting.java (92%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/KafkaConsumerConfig.java (98%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/KafkaProducerConfig.java (98%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/KafkaTopicConfig.java (97%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/MultiTypeKafkaListener.java (95%)
rename {spring-kafka-2/src/main/java/com/baeldung/spring => spring-kafka/src/main/java/com/baeldung}/kafka/retryable/RetryableApplicationKafkaApp.java (91%)
rename {spring-kafka-2 => spring-kafka}/src/main/resources/application-retry.properties (100%)
rename {spring-kafka-2/src/test/java/com/baeldung/spring => spring-kafka/src/test/java/com/baeldung}/kafka/retryable/KafkaRetryableIntegrationTest.java (88%)
diff --git a/spring-kafka-2/README.md b/spring-kafka-2/README.md
index f9e07d4893..4dff7ef5db 100644
--- a/spring-kafka-2/README.md
+++ b/spring-kafka-2/README.md
@@ -4,7 +4,6 @@ This module contains articles about Spring with Kafka
### Relevant articles
-- [Implementing Retry in Kafka Consumer](https://www.baeldung.com/spring-retry-kafka-consumer)
- [Spring Kafka: Configure Multiple Listeners on Same Topic](https://www.baeldung.com/spring-kafka-multiple-listeners-same-topic)
- [Understanding Kafka Topics and Partitions](https://www.baeldung.com/kafka-topics-partitions)
- [How to Subscribe a Kafka Consumer to Multiple Topics](https://www.baeldung.com/kafka-subscribe-consumer-multiple-topics)
diff --git a/spring-kafka-3_/README.md b/spring-kafka-3_/README.md
deleted file mode 100644
index f9c0036ce3..0000000000
--- a/spring-kafka-3_/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-## Relevant Articles
-- [Spring Kafka Trusted Packages Feature](https://www.baeldung.com/spring-kafka-trusted-packages-feature)
diff --git a/spring-kafka-3_/pom.xml b/spring-kafka-3_/pom.xml
deleted file mode 100644
index 058b981bc1..0000000000
--- a/spring-kafka-3_/pom.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
- 4.0.0
- spring-kafka-3_
- jar
- spring-kafka-3_
-
-
- com.baeldung
- parent-boot-2
- 0.0.1-SNAPSHOT
- ../parent-boot-2
-
-
-
-
- org.springframework.kafka
- spring-kafka
-
-
- com.fasterxml.jackson.core
- jackson-databind
-
-
- org.springframework.kafka
- spring-kafka-test
- test
-
-
-
-
- 3.0.12
-
-
diff --git a/spring-kafka-3_/src/main/java/com/baeldung/spring/kafka/SomeData.java b/spring-kafka-3_/src/main/java/com/baeldung/spring/kafka/SomeData.java
deleted file mode 100644
index eb2e57c33d..0000000000
--- a/spring-kafka-3_/src/main/java/com/baeldung/spring/kafka/SomeData.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.baeldung.spring.kafka;
-
-import java.time.Instant;
-
-public class SomeData {
-
- private String id;
- private String type;
- private String status;
- private Instant timestamp;
-
- public SomeData() {
- }
-
- public SomeData(String id, String type, String status, Instant timestamp) {
- this.id = id;
- this.type = type;
- this.status = status;
- this.timestamp = timestamp;
- }
-
- public String getId() {
- return id;
- }
-
- public String getType() {
- return type;
- }
-
- public String getStatus() {
- return status;
- }
-
- public Instant getTimestamp() {
- return timestamp;
- }
-}
diff --git a/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ListenerConfiguration.java b/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ListenerConfiguration.java
deleted file mode 100644
index e35b1ee415..0000000000
--- a/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ListenerConfiguration.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.baeldung.spring.kafka;
-
-import java.util.Map;
-
-import org.apache.kafka.clients.consumer.ConsumerConfig;
-import org.apache.kafka.common.serialization.StringDeserializer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
-import org.springframework.kafka.core.ConsumerFactory;
-import org.springframework.kafka.core.DefaultKafkaConsumerFactory;
-import org.springframework.kafka.support.serializer.JsonDeserializer;
-
-@Configuration
-public class ListenerConfiguration {
-
- @Bean("messageListenerContainer")
- public ConcurrentKafkaListenerContainerFactory messageListenerContainer() {
- ConcurrentKafkaListenerContainerFactory container = new ConcurrentKafkaListenerContainerFactory<>();
- container.setConsumerFactory(someDataConsumerFactory());
- return container;
- }
-
- @Bean
- public ConsumerFactory someDataConsumerFactory() {
- JsonDeserializer payloadJsonDeserializer = new JsonDeserializer<>();
- payloadJsonDeserializer.trustedPackages("com.baeldung.spring.kafka");
- return new DefaultKafkaConsumerFactory<>(
- consumerConfigs(),
- new StringDeserializer(),
- payloadJsonDeserializer
- );
- }
-
- @Bean
- public Map consumerConfigs() {
- return Map.of(
- ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "PLAINTEXT://localhost:9092",
- ConsumerConfig.GROUP_ID_CONFIG, "some-group-id"
- );
- }
-}
\ No newline at end of file
diff --git a/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ProducerConfiguration.java b/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ProducerConfiguration.java
deleted file mode 100644
index 7373424841..0000000000
--- a/spring-kafka-3_/src/test/java/com/baeldung/spring/kafka/ProducerConfiguration.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.baeldung.spring.kafka;
-
-import org.apache.kafka.clients.producer.ProducerConfig;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.kafka.core.DefaultKafkaProducerFactory;
-import org.springframework.kafka.core.KafkaTemplate;
-import org.springframework.kafka.core.ProducerFactory;
-import org.springframework.kafka.support.serializer.JsonSerializer;
-import org.springframework.kafka.support.serializer.StringOrBytesSerializer;
-
-import java.time.Instant;
-import java.util.Map;
-
-@Configuration
-public class ProducerConfiguration {
-
- @Bean
- public KafkaTemplate