Cet article présente Spring Cloud - la secours d'une seule méthode à l'aide d'hystrix et la partage avec vous, comme suit:
1. Rejoignez les dépendances Hystrix
<dependency> <proupId> org.springframework.cloud </proupId> <ArtefactId> Spring-Cloud-Starter-Hystrix </retifactid> </Dependency>
2. Écrivez le contrôleur
package com.chhliu.springboot.restful.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.getMapping; import org.springframework.web.bind.annotation.pathvariable; import org.springframework.web.bind.annotation.restController; import com.chhliu.springboot.restful.feignClient.UserFeignClient; import com.chhliu.springboot.restful.vo.user; import com.netflix.hystrix.contrib.javanica.annotation.hystrixCommand; @RestController Public Class RestTemplateControllerHystrixCommand {@Autowired Private UserFeignClient Client; // Utilisez feign pour consommer un service RESTful @getMapping ("/ get / {id}") @hystrixcommand (FallbackMethod = "FindByIdFallback") // Utilisez HystrixCommand Annotation pour spécifier la méthode de Fallback dans la propriété FallbackMethod Public utilisateur FindById (@pathvariable long id) {return Client.FindById (id); } // Écrasez la méthode spécifiée dans FallbackMethod. Notez que la valeur de retour de cette méthode doit être cohérente avec la méthode d'origine public utilisateur public findByIdFallback (long id) {utilisateur u = new User (); U.SetName ("Zhangsan"); U.SetUsername ("Chhliu"); U.SetID (9L); retourne u; }}3. Ajouter le support Hystrix à la classe de démarrage
@EnableCircuitbreaker
4. Ajouter des fichiers de configuration
server.port: 7904 # Le nom de l'application du service Spring Boot enregistré sur Eureka Server est Spring.Application.Name = Springboot-Rest-Template-Feign-Hystrix eureka.instance.prefer-ip-ddress = true # L'adresse du service d'enregistrement du serveur Eureka est eureka.client.service-url.defaultzone = http: // chhliu: chhliu123456 @ localhost: 8764 / eureka springboot-h2.ribbon.nfloadBalanCerRuleclassname = com.netflix.loadBanher.retryrule Hystrix.command.default.execution.isolation.thread.timeoutinmilliseconds: 1 # pour tester l'effet de secours d'Hystrix, le délai d'expiration est défini sur 1 milliseconde ici
V.
Entrez dans le navigateur: http: // localhost: 7904 / get / 2
Les résultats des tests sont les suivants:
{"id": 9, "nom d'utilisateur": "chhliu", "nom": "zhangsan", "âge": null, "équilibre": null}
À partir des résultats de test ci-dessus, nous pouvons voir que parce que le délai d'expiration de la connexion, nous entrons directement la méthode de secours.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.