diff --git a/spring-web/src/main/java/org/springframework/web/client/DefaultRestClient.java b/spring-web/src/main/java/org/springframework/web/client/DefaultRestClient.java index 8ef97588cef..c29858d2aa8 100644 --- a/spring-web/src/main/java/org/springframework/web/client/DefaultRestClient.java +++ b/spring-web/src/main/java/org/springframework/web/client/DefaultRestClient.java @@ -247,19 +247,16 @@ final class DefaultRestClient implements RestClient { ResolvableType.forType(bodyType) + "] and content type [" + contentType + "]", cause); if (observation != null) { observation.error(restClientException); + observation.stop(); } throw restClientException; } catch (RestClientException restClientException) { if (observation != null) { observation.error(restClientException); - } - throw restClientException; - } - finally { - if (observation != null) { observation.stop(); } + throw restClientException; } } diff --git a/spring-web/src/test/java/org/springframework/web/client/RestClientObservationTests.java b/spring-web/src/test/java/org/springframework/web/client/RestClientObservationTests.java index 62cbca8598b..98c4b136f9a 100644 --- a/spring-web/src/test/java/org/springframework/web/client/RestClientObservationTests.java +++ b/spring-web/src/test/java/org/springframework/web/client/RestClientObservationTests.java @@ -73,7 +73,6 @@ class RestClientObservationTests { @BeforeEach void setupEach() { - this.client = RestClient.builder() .messageConverters(converters -> converters.add(0, this.converter)) .requestFactory(this.requestFactory) @@ -267,6 +266,7 @@ class RestClientObservationTests { private TestObservationRegistryAssert.TestObservationRegistryAssertReturningObservationContextAssert assertThatHttpObservation() { + TestObservationRegistryAssert.assertThat(this.observationRegistry).hasNumberOfObservationsWithNameEqualTo("http.client.requests",1); return TestObservationRegistryAssert.assertThat(this.observationRegistry) .hasObservationWithNameEqualTo("http.client.requests").that(); }