欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java B2B2C源码电子商务平台 -SpringCloud整合Hystrix,b2b2chystrix,SpringCloud整

来源: javaer 分享于  点击 49100 次 点评:170

java B2B2C源码电子商务平台 -SpringCloud整合Hystrix,b2b2chystrix,SpringCloud整


SpringCloud整合Hystrix

需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六

由于服务调用者有可能调用服务挂掉的提供者,服务调用方整合Hystrix

引入依赖

   <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-starter-hystrix</artifactId>        </dependency>

主启动开启断路器

@SpringBootApplication@EnableEurekaClient//开启断路器@EnableCircuitBreakerpublic class SaleApp {    @Bean    @LoadBalanced    public RestTemplate getRestTemplate() {        return new RestTemplate();    }    public static void main(String[] args) {        new SpringApplicationBuilder(SaleApp.class).web(true).run(args);    }}

服务调用service修改

@Service//对这个类采用全局默认的回退机制,回退方法不能带参数,例如:“getMemberFallback”没有参数//@DefaultProperties(defaultFallback = "getMemberFallback")public class MemberService {    @Autowired    private RestTemplate restTpl;    //1、@HystrixCommand、@HystrixProperty这些注解不是SpringCloud注解,而是Hystrix框架提供的    //2、fallbackMethod当修饰具体方法时,fallbackMethod方法的参数和修饰方法保持一致    @HystrixCommand(fallbackMethod = "getMemberFallback", groupKey = "MemberGroup", commandKey = "MemberCommandKey",             commandProperties = {            //超时熔断            @HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "1000")    }, threadPoolProperties = {            @HystrixProperty(name = "coreSize", value = "2")    })    public Member getMember(Integer id) {        try {            Thread.sleep(500);        } catch (Exception e) {        }        Member member = restTpl.getForObject(                "http://spring-hy-member/member/{id}", Member.class, id);        return member;    }    public Member getMemberFallback(Integer id) {        Member m = new Member();        m.setId(1);        m.setName("error member");        return m;    }}

注意: @DefaultProperties:可以配置全局回退机制,回退方法不能带参数,例如:“getMemberFallback”没有参数

@HystrixCommand、@HystrixProperty这些注解不是SpringCloud注解,而是Hystrix框架提供的

fallbackMethod当修饰具体方法时,fallbackMethod方法的参数和修饰方法保持一致

springboot微服务多用户商城系统java_代码开源_B2B电商系统_B2C电商系统

相关栏目:

用户点评