Spring-Vault Library是否支持Feign Client,或者有没有办法通过feign路由呼叫

时间:2018-03-09 05:46:04

标签: spring spring-cloud-feign spring-vault

我们的想法是让spring-vault使用假装客户端(利用hystrix的容错能力)。

  1. spring-vault是否支持假装客户?或者如果不支持开箱即可解决问题
  2. 或者是通过假装客户端(类似代理模式)来路由弹簧保险库电话。
  3. 以下代码段是spring-vault配置的示例; VaultTemplate bean用于库操作

    public VaultEndpoint vaultEndpoint() {
    
        try {
            return VaultEndpoint.from(new URI(vaultUri));
        } catch (URISyntaxException uriSyntaxException) {
            throw new IllegalStateException("Some Exception", uriSyntaxException);
        }
    }
    @Bean
    public VaultTemplate vaultTemplate() {
        return new VaultTemplate(vaultEndpoint(), httpRequestFactory(), sessionManager());
    }
    
    @Bean
    public VaultTransitOperations vaultTransitOperations() {
        return vaultTemplate().opsForTransit(transitPath);
    }
    
    @Bean
    public ClientHttpRequestFactory httpRequestFactory() {
        ClientOptions clientOptions = new ClientOptions(1000, 1000);
    
        return ClientHttpRequestFactoryFactory.create(clientOptions, SslConfiguration.NONE);
    }
    
    @Bean
    public RestOperations vaultClient() {
        return VaultClients.createRestTemplate(vaultEndpoint(), httpRequestFactory());
    }
    

1 个答案:

答案 0 :(得分:0)

Spring Vault中没有假装(openfeign)支持,但我们通过接受HTTP clients来支持各种ClientHttpRequestFactory

使用RibbonClientHttpRequestFactory {/ 3}}提供Spring Cloud Netflix,可以使用功能区获得容错功能。