diff options
| author | Paul-Christian Volkmer | 2025-03-23 13:35:24 +0100 |
|---|---|---|
| committer | GitHub | 2025-03-23 13:35:24 +0100 |
| commit | 98b971d7db5c08e838b9e1506594fa53e7385ea8 (patch) | |
| tree | 62deec871495cc017f288065c142565d8af4e717 /src/main | |
| parent | 56a63b276e17412adb5253e9e34d830228a24583 (diff) | |
feat: do not retry on validation issues (#89)
This will prevent retry if response is HTTP 400 or HTTP 422.
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt | 3 |
1 files changed, 3 insertions, 0 deletions
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 { |
