From 42158baa44a32a4d2fe99c17cdaec6e1a89c4ee6 Mon Sep 17 00:00:00 2001 From: Huijin Hong Date: Wed, 11 Sep 2024 22:30:54 +0900 Subject: [PATCH] GH-467: Support concurrent behavior on MetricsRetryListener Fixes #467 --- .../springframework/retry/support/MetricsRetryListener.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/retry/support/MetricsRetryListener.java b/src/main/java/org/springframework/retry/support/MetricsRetryListener.java index 957b9f1d..4dc9939e 100644 --- a/src/main/java/org/springframework/retry/support/MetricsRetryListener.java +++ b/src/main/java/org/springframework/retry/support/MetricsRetryListener.java @@ -16,6 +16,7 @@ package org.springframework.retry.support; +import java.util.Collections; import java.util.IdentityHashMap; import java.util.Map; import java.util.function.Function; @@ -53,6 +54,7 @@ * be used to further customize tags on the timers. * * @author Artem Bilan + * @author Huijin Hong * @since 2.0.8 */ public class MetricsRetryListener implements RetryListener { @@ -61,7 +63,8 @@ public class MetricsRetryListener implements RetryListener { private final MeterRegistry meterRegistry; - private final Map retryContextToSample = new IdentityHashMap<>(); + private final Map retryContextToSample = Collections + .synchronizedMap(new IdentityHashMap<>()); private final Timer.Builder retryMeterProvider;