summaryrefslogtreecommitdiff
path: root/src/main/kotlin/dev/dnpm/etl/processor
diff options
context:
space:
mode:
authorPaul-Christian Volkmer2024-02-29 08:29:26 +0100
committerPaul-Christian Volkmer2024-02-29 08:29:26 +0100
commit61e5273158406fac25efc0a715104e103a3ea540 (patch)
tree5724101852fafceb6c24ac4d1f802adbacd48d73 /src/main/kotlin/dev/dnpm/etl/processor
parent50b8f7bbd4107fb228d26101a11e67067493b70b (diff)
feat: add max-retry-attempts config option
Diffstat (limited to 'src/main/kotlin/dev/dnpm/etl/processor')
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfigProperties.kt3
-rw-r--r--src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt4
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<TransformationProperties> = listOf()
+ var transformations: List<TransformationProperties> = 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 <T : Any, E : Throwable> onError(
context: RetryContext,