我們在 java @Configuration 注釋類中配置兩個單獨的 RestTemplateBuilder bean,如下所示:@Bean("internal_api")public RestTemplateBuilder internalRestTemplateBuilder(@Autowired OAuthConsumerOperations oAuthConsumerOperations) {... }@Bean("external_api")public RestTemplateBuilder externalRestTemplateBuilder(){...}當我們將應用程序部署到 Pivotal Cloud Foundry Apps Manager 時,我們收到以下錯誤。它抱怨當它只期待一個時發現了不止一個 RestTemplateBuilder bean。在 URL [jar:file:/home/vcap/app/BOOT-INF/lib/springfox-spring-web-2.7.0.jar!/springfox/documentation/spring/web/ 中定義名稱為“webMvcRequestHandlerProvider”的 bean 創建時出錯plugins/WebMvcRequestHandlerProvider.class]:通過構造函數參數0表示的不滿足的依賴;嵌套異常是 org.springframework.beans.factory.UnsatisfiedDependencyException:在類路徑資源 [org/springframework/boot/actuate/cloudfoundry/CloudFoundryActuatorAutoConfiguration.class] 中定義的名稱為“cloudFoundryEndpointHandlerMapping”的 bean 創建時出錯:通過方法“cloudFoundryEndpointHandlerMapping”表達的不滿意的依賴參數 1; 嵌套異常是 org.springframework.beans.factory.NoUniqueBeanDefinitionException:沒有類型為 'org.springframework.boot.web.client 的合格 bean。這是一個錯誤嗎?在 Cloud Foundry 上使用 spring 執行器時,不是都允許配置多個 RestTemplateBuilder bean 嗎?有沒有辦法解決這個錯誤?如果沒有,創建 RestTemplate bean 而不是 RestTemplateBuilders 會起作用嗎?如果是這種情況,那么 CloudFoundryActuatorAutoConfiguration 類在 Cloud Foundry 上部署時是否需要至少定義一個 RestTemplateBuilder bean?
Spring Actuator:使用多個自定義 RestTemplateBuilder bean
慕的地8271018
2021-08-19 18:34:51