2017-03-16 16:09:08.821 INFO 9104 --- [main] com.hello.EurekaClientApplication : 没有设置活动配置文件,回退到默认配置:default
2017-03-16 16:09:08.848 INFO 9104 --- [main] ationConfigEmbeddedWebApplicationContext : 正在刷新 org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5dcd8c7a:启动日期[Thu Mar 16 16:09:08 CDT 2017];父级:org.springframework.context.annotation.AnnotationConfigApplicationContext@441772e
2017-03-16 16:09:09.873 INFO 9104 --- [main] o.s.b.f.s.DefaultListableBeanFactory : 用不同的定义替换bean 'hystrixFeature'的定义:替换[Root bean:class [null];范围=;抽象= false;lazyInit=false;autowireMode=3;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBeanName=org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration$HystrixWebConfiguration;factoryMethodName=hystrixFeature;initMethodName=null;destroyMethodName=(已推断);定义在类路径资源[org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration$HystrixWebConfiguration.class]]与[Root bean:class [null];范围=;抽象= false;lazyInit=false;autowireMode=3;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBeanName=org.springframework.cloud.netflix.hystrix.HystrixCircuitBreakerConfiguration;factoryMethodName=hystrixFeature;initMethodName=null;destroyMethodName=(已推断);定义在类路径资源[org/springframework/cloud/netflix/hystrix/HystrixCircuitBreakerConfiguration.class]]
2017-03-16 16:09:10.364 WARN 9104 --- [main] o.s.c.a.ConfigurationClassPostProcessor : 无法增强@Configuration bean定义'refreshScope',因为它的单例实例创建得太早。典型原因是一个非静态@Bean方法,带有BeanDefinitionRegistryPostProcessor返回类型:考虑将这些方法声明为'static'。
2017-03-16 16:09:10.701 INFO 9104 --- [main] o.s.cloud.context.scope.GenericScope : BeanFactory id=d0eb8cfd-bd5b-3565-9f63-f671e896f6be
2017-03-16 16:09:10.736 INFO 9104 --- [main] f.a.AutowiredAnnotationBeanPostProcessor : 发现并支持JSR-330 'javax.inject.Inject'注释进行自动装配
2017-03-16 16:09:11.312 INFO 9104 --- [main] trationDelegate$BeanPostProcessorChecker : 类型为[org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration $ $ EnhancerBySpringCGLIB $ $ 94394ff6]的Bean'org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration'不适合被所有BeanPostProcessors处理(例如:不适合自动代理)
2017-03-16 16:09:12.091 INFO 9104 --- [main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat初始化端口:8080(http)
2017-03-16 16:09:12.128 INFO 9104 --- [main] o.apache.catalina.core.StandardService : 正在启动Tomcat
2017-03-16 16:09:12.130 INFO 9104 --- [main] org.apache.catalina.core.StandardEngine : 正在启动Servlet引擎:Apache Tomcat/8.5.11
2017-03-16 16:09:12.546 INFO 9104 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : 初始化Spring嵌入式WebApplicationContext
2017-03-16 16:09:12.547 INFO 9104 --- [ost-startStop-1] o.s.web.context.ContextLoader : 根WebApplicationContext:初始化完成,用时3699毫秒
2017-03-16 16:09:13.191 INFO 9104 --- [ost-start
package com.hello;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.stereotype.Service;
import com.netflix.discovery.DiscoveryClient;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
@EnableDiscoveryClient
@Service
public class ClientService {
private final DiscoveryClient disc;
public ClientService(DiscoveryClient disc){
this.disc=disc;
}
@HystrixCommand(fallbackMethod="disp")
public String serviceInstancesByApplicationName(){
return this.disc.getInstancesById("a-bootiful-client").toString();
}
public String disp(){
return "This is fall back method";
}
}
package com.hello;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
@EnableHystrix
@EnableHystrixDashboard
@EnableDiscoveryClient
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan
@RestController
public class EurekaClientApplication {
@Autowired
private ClientService clientservice;
public static void main(String[] args) {
SpringApplication.run(EurekaClientApplication.class, args);
}
@RequestMapping("/serv")
public String serviceInstancesByApplicationName(){
return clientservice.serviceInstancesByApplicationName();
}
}
我试图创建一个简单的Eureka服务和客户端程序,并在其中启用Hystrix。但是,在代码中我遇到了这个错误。