Artikel ini memperkenalkan Spring Cloud - Fallback dari satu metode menggunakan Hystrix, dan membagikannya kepada Anda, sebagai berikut:
1. Bergabunglah dengan dependensi Hystrix
<dependency> <GroupId> org.springframework.cloud </groupid> <ArTifactId> Spring-cloud-starter-hystrix </artifactid> </dependency>
2. Tulis pengontrol
paket com.chhliu.springboot.restful.controller; impor org.springframework.beans.factory.annotation.Autowired; impor org.springframework.web.bind.annotation.getmapping; impor org.springframework.web.bind.annotation.pathvariable; impor org.springframework.web.bind.annotation.RestController; impor com.chhliu.springboot.restful.feignclient.userfeignclient; impor com.chhliu.springboot.restful.vo.user; impor com.netflix.hystrix.contrib.javanica.annotation.hystrixCommand; @RestController kelas publik restTemplatControllERHyStrixCommand {@Autowired private userfeignClient Client; // Use Feign to consume Restful service @GetMapping("/get/{id}") @HystrixCommand(fallbackMethod="findByIdFallback")// Use HystrixCommand annotation to specify the method of fallback in the fallbackMethod property public User findById(@PathVariable Long id) { return client.findById(id); } // Timpa metode yang ditentukan dalam FallbackMethod. Perhatikan bahwa nilai pengembalian metode ini harus konsisten dengan metode asli Public User FindByIdfallBack (Long ID) {User u = User baru (); u.setname ("Zhangsan"); u.setusername ("chhliu"); u.setid (9l); mengembalikanmu; }}3. Tambahkan dukungan Hystrix ke kelas startup
@Enablecircuitbreaker
4. Tambahkan file konfigurasi
server.port: 7904 # Nama aplikasi Layanan Boot Spring yang terdaftar di Eureka Server adalah spring.application.name = springboot-rest-template-feign-hystrix eureka.instance.prefer-iP-address = true # Alamat layanan pendaftaran server eureka adalah layanan pendaftaran server eureka eureka.client.service-url.defaultzone = http: // chhliu: chhliu123456@localhost: 8764/eureka springboot-h2.ribbon.nfloadbalancerruleClassname = com.netflix.Loadalancer.retryrule hystrix.command.default.execution.isolation.thread.timeoutInmilliseconds: 1 #Untuk menguji efek fallback Hystrix, waktu batas waktu diatur ke 1 milidetik di sini
V. tes
Masukkan di browser: http: // localhost: 7904/get/2
Hasil tes adalah sebagai berikut:
{"id": 9, "nama pengguna": "chhliu", "name": "zhangsan", "zaman": null, "balance": null}
Dari hasil tes di atas, kita dapat melihat itu karena batas waktu koneksi, kami langsung memasukkan metode fallback.
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.