Spring Actuator:使用多个自定义 RestTemplateBuilder bean

我们在 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?


慕的地8271018
浏览 359回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java