7

uriVariables をうまく使用していないため、クラスMaximumUriTagsReachedMeterFilter内で構成されていると警告がログに記録され、収集が停止します。RestTemplateMetricsAutoConfiguration

問題は、uri 変数とクエリ パラメータの両方を使用して URI を作成し、それを に渡す必要があることorg.springframework.web.client.RestTemplate.exchangeです。例えば:

String url = "http://foo.example/api/resources/{id}";

// omitting uriVariables and queryParams maps

URI uri = UriComponentsBuilder.fromUriString(url)
        .buildAndExpand(uriVariables)
        .toUri();
uri = UriComponentsBuilder
        .fromUri(uri)
        .queryParams(queryParams)
        .build()
        .toUri();

restTemplate.exchange(
   uri,
   HttpMethod.GET,
   requestEntity,
   new ParameterizedTypeReference<Entity>(){}
);

restTemplate.exchange()パラメータ化された文字列 URI に uri 変数とクエリ パラメータを一緒に渡す方法が本当にわかりません。これにより、インストルメンテーション コードは uri 変数展開の前にフックするため、メトリクス uri タグを 1 回だけ取得できます。

さらに、カスタム HealthIndicator の RestTemplate メトリックを活用しています。私は本当にこの問題を解決する必要があります。

4

0 に答える 0