From 98b971d7db5c08e838b9e1506594fa53e7385ea8 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Sun, 23 Mar 2025 13:35:24 +0100 Subject: feat: do not retry on validation issues (#89) This will prevent retry if response is HTTP 400 or HTTP 422.--- src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/main/kotlin') diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt index 5fc1120..66af288 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt @@ -55,6 +55,7 @@ import org.springframework.retry.support.RetryTemplateBuilder import org.springframework.scheduling.annotation.EnableScheduling import org.springframework.security.crypto.password.PasswordEncoder import org.springframework.security.provisioning.InMemoryUserDetailsManager +import org.springframework.web.client.HttpClientErrorException import org.springframework.web.client.RestTemplate import reactor.core.publisher.Sinks import java.io.BufferedInputStream @@ -224,6 +225,8 @@ class AppConfiguration { fun retryTemplate(configProperties: AppConfigProperties): RetryTemplate { return RetryTemplateBuilder() .notRetryOn(IllegalArgumentException::class.java) + .notRetryOn(HttpClientErrorException.BadRequest::class.java) + .notRetryOn(HttpClientErrorException.UnprocessableEntity::class.java) .exponentialBackoff(2.seconds.toJavaDuration(), 1.25, 5.seconds.toJavaDuration()) .customPolicy(SimpleRetryPolicy(configProperties.maxRetryAttempts)) .withListener(object : RetryListener { -- cgit v1.2.3