【问题标题】:Spring Boot OAuth2RestTemplate and HTTP Client MetricsSpring Boot OAuth2RestTemplate 和 HTTP 客户端指标
【发布时间】:2019-07-24 01:02:40
【问题描述】:

Actuator 管理RestTemplate 的检测,我们只需要注入RestTemplateBuilder 来创建RestTemplate bean:

@Configuration
public class HttpClientConfiguration {
    private final RestTemplateBuilder restTemplateBuilder;

    // let Actuator manages the instrumentation
    public HttpClientConfiguration(RestTemplateBuilder restTemplateBuilder) {
        this.restTemplateBuilder = restTemplateBuilder;
    }

    @Bean // let Sleuth intercept requests
    public RestTemplate createRestTemplate() {
        return restTemplateBuilder.build();
    }
}

如何使用 HTTP 客户端 Mertics 支持创建 OAuth2RestTemplate bean(内置 OAuth2)?

【问题讨论】:

    标签: spring-boot oauth-2.0 resttemplate spring-micrometer oauth2resttemplate


    【解决方案1】:

    我刚刚找到了解决办法:

    @Configuration
    @EnableOAuth2Client
    public class OAuthClientConfig {
        private final MetricsRestTemplateCustomizer metricsRestTemplateCustomizer;
    
        public OAuthConfig(MetricsRestTemplateCustomizer metricsRestTemplateCustomizer) {
            this.metricsRestTemplateCustomizer=metricsRestTemplateCustomizer;
        }
    
        @Bean
        public OAuth2RestTemplate createOAuth2RestTemplate() {
            OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(
                    getClientCredentialsResourceDetails(), 
                    new DefaultOAuth2ClientContext());
            metricsRestTemplateCustomizer.customize(restTemplate);
            return restTemplate;
        }
    
        private ClientCredentialsResourceDetails getClientCredentialsResourceDetails() {
            ClientCredentialsResourceDetails rd = new ClientCredentialsResourceDetails();
            rd.setClientId("my-client-id");
            rd.setClientSecret("my-client-secret");
            rd.setAccessTokenUri("https://my-idp.server/oauth2/token");
            return rd;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-09-30
      • 2021-12-05
      • 2019-04-24
      • 2015-08-26
      • 2022-11-28
      • 2020-02-23
      • 2018-06-03
      • 1970-01-01
      • 2019-06-29
      相关资源
      最近更新 更多