@FeignClient(name = "http://foo-service")
public interface FooResource {
@RequestMapping(value = "/doSomething", method = GET)
String getResponse();
}
public class MyService {
private FooResource fooResource;
...
public void getFoo() {
String response = this.fooResource.getResponse();
...
}
}
@Configuration
public class AppConfig {
@Bean
@ConditionalOnProperty(prefix = "spring.profile", name = "active", havingValue="local")
public FooResource fooResource() {
return new FooResource() {
@Override
public String getResponse() {
return "testing";
}
};
}
}
根据Intellij的说法。这是由Spring Cloud Netflix框架自动生成的类型,因此尝试与远程服务进行实际通信。
是否有一种方法可以根据配置设置有条件地重写Feign接口的实现?
解决方案如下所示:
public interface FeignBase {
@RequestMapping(value = "/get", method = RequestMethod.POST, headers = "Accept=application/json")
Result get(@RequestBody Token common);
}
然后定义基于环境的接口:
@Profile("prod")
@FeignClient(name = "service.name")
public interface Feign1 extends FeignBase
{}
@Profile("!prod")
@FeignClient(name = "service.name", url = "your url")
public interface Feign2 extends FeignBase
{}
最后,在您的服务Impl中:
@Resource
private FeignBase feignBase;
我们正在Spring Cloud+NetflixOS上构建一个微服务架构,到目前为止,它非常棒。然而,我们已经注意到,当我们第一次启动Eureka+2个单独的微服务时,Service1无法连接到Service2长达30秒,即使两者都很快注册到Eureka并单独出现。这发生在本地或部署(通过Tutum在AWS上) 我们得到的错误是:
本文向大家介绍基于Python的ModbusTCP客户端实现详解,包括了基于Python的ModbusTCP客户端实现详解的使用技巧和注意事项,需要的朋友参考一下 前言 Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口、以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业电子设备之间的互联。 Modb
Feign是一个声明式的Web服务客户端。这使得Web服务客户端的写入更加方便 要使用Feign创建一个界面并对其进行注释。它具有可插入注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud增加了对Spring MVC注释的支持,并使用Spring Web中默认使用的HttpMessageConverters。Spring Cloud集成Ri
我的问题是:我们是否有一种方法来定义绑定,它将在本地环境中监听存储队列,但在部署到生产时将切换到服务总线? 这听起来像XY问题,所以如果有人有更好的主意来解决我的X问题,我洗耳恭听。
我有一个Spring Boot应用程序,希望创建一个具有静态定义的头值(用于auth,但不是基本auth)的假客户端。我找到了注释,但它在Spring Boot领域似乎不起作用。我怀疑这与使用有关。 我用我的尝试制作了一个干净的spring boot应用程序,并在这里发布到github:github示例 使其工作的唯一方法是将定义为全局bean,但我不想这样做,因为这会影响其他客户机。
那么如何提取错误代码呢?我想提取错误代码并构建一个responseEntity 我得到了这段代码,但不知道如何在函数中使用。