From 61e5273158406fac25efc0a715104e103a3ea540 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Thu, 29 Feb 2024 08:29:26 +0100 Subject: [PATCH] feat: add max-retry-attempts config option --- .../dev/dnpm/etl/processor/config/AppConfigProperties.kt | 3 ++- .../kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt index 2eea92e..430648e 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt @@ -30,7 +30,8 @@ data class AppConfigProperties( replacement = "app.pseudonymize.generator" ) var pseudonymizer: PseudonymGenerator = PseudonymGenerator.BUILDIN, - var transformations: List = listOf() + var transformations: List = listOf(), + var maxRetryAttempts: Int = 3 ) { companion object { const val NAME = "app" 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 71911fc..8fb9e19 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt @@ -113,11 +113,11 @@ class AppConfiguration { } @Bean - fun retryTemplate(): RetryTemplate { + fun retryTemplate(configProperties: AppConfigProperties): RetryTemplate { return RetryTemplateBuilder() .notRetryOn(IllegalArgumentException::class.java) .exponentialBackoff(2.seconds.toJavaDuration(), 1.25, 5.seconds.toJavaDuration()) - .customPolicy(SimpleRetryPolicy(3)) + .customPolicy(SimpleRetryPolicy(configProperties.maxRetryAttempts)) .withListener(object : RetryListener { override fun onError( context: RetryContext,