我在尝试基于留档的假客户后备时遇到了问题。
假设myFeygnClient无法连接到myFeygnClient
@FeignClient(name = "myFeign", fallback = MyFeignClientFallback.class)
public interface MyFeignClient {
@PostMapping(“/test")
Object test(@RequestParam(“param1") String param1);
}
我的后备课程是:
@Component
public class MyFeignClientFallback implements MyFeignClient {
public Object test(@RequestParam(“param1”) String param1) {
return “Error";
}
}
它没有调用回退方法,而是彻底失败:
2018-05-07 15:19:48.052错误41592---[nio-8081-exec-6]o.a.c.c.c.[/]。[dispatcherServlet]:Servlet。路径为[]的上下文中servlet[dispatcherServlet]的service()引发了异常[Request processing failed;nested exception is java.lang.RuntimeException:com.netflix.client.ClientException:Load balancer没有可用于客户端的服务器:myFeign],根本原因是
通用域名格式。netflix。客户客户端异常:负载平衡器没有可用于客户端的服务器:myFeign
我已经让我的假客户工作了。当我遇到这个问题时,我正在尝试使用Hystrix的想法。
我是不是用错了,还是漏掉了什么?
请在配置文件应用程序中启用hystrix。yml,默认值为false,该函数将不工作。
建筑格拉德尔
buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
bootJar {
launchScript ()
}
archivesBaseName = 'framework'
version = '1.0'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-client')
compile('org.springframework.cloud:spring-cloud-starter-openfeign')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
ext {
springCloudVersion = 'Finchley.RC1'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
应用yml公司
eureka:
client:
serviceUrl:
defaultZone: //...
instance:
preferIpAddress: true
feign:
hystrix:
enabled: true
一个pplication.java
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
框架你好ervice.java
package framework.root.service;
import framework.root.service.FrameworkHelloService.HelloServiceFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
@FeignClient(name = "framework", fallback = HelloServiceFallback.class)
public interface FrameworkHelloService {
@GetMapping("/api/hello")
public String hello();
@GetMapping("/api/exception")
public void exception();
@GetMapping("/none")
public String none();
@Component
class HelloServiceFallback implements FrameworkHelloService {
@Override
public String hello() {
return null;
}
@Override
public void exception() { }
@Override
public String none() {
return "Fallback!";
}
}
}
这是我的客户端代码 这是我的Rest控制器代码: 如果我在调用后使用 String.class 作为返回类型,则相同的代码也有效。但不是响应实体类。我做错了什么,如果我需要客户端也相同的响应实体
已完成未来() 返回已使用给定值完成的。 我们如何构造一个已经异常完成的< code>CompletableFuture? 也就是说,我希望future抛出一个异常,而不是返回值。
我正在写一个代码,它将在ec2中运行,并在s3中为我的帐户列出桶。代码运行良好。然而,当我试图将x射线检测到其中时,x射线痕迹不会出现。我已将x射线依赖项包含在pom.xml 我尝试了很多方法,比如引入配置,但都没用。 有人有一个样本代码将是有益的,因为没有太多的资源,关于它和AWS的官方样本项目不是很清楚。 获取以下异常 2019-04-27 10:46:28.706错误3865---[pool
我是摩基托的新手,不明白这是什么问题。而且你能不能说我,如何做Mockito单位正确,因为我真的不能理解他们!更新的错误和测试类 我有下一个例外: 下面是我的DAO类:
但是,该方法(authContext.AcquireTokenAsync)与其他参数(如客户端id等)很好地配合使用,如下所示。result=await authContext.AcquireTokenSilentAsync(ResourceId,clientId); UWP是否对具有ClientCredential(clientid,key)的AuthContext.AcquireTokenSi
我创建了一个自定义验证规则来检查数据库中是否存在用户名。 My User类有一个用户名,该用户名具有自定义验证规则,当创建对象时,它会在数据库中检查是否存在相同的用户名。 我使用<code>界面UserRepository扩展JpaRepositor 我可以分别验证用户并将他们保存到数据库中,但是在一起使用时,比如调用< code > user repository . save(user); <