全部产品
Search
文档中心

Application Real-Time Monitoring Service:Mengapa data aplikasi saya yang menggunakan komponen OpenFeign tidak lengkap di ARMS?

更新时间:Jun 27, 2025

Setelah aplikasi Anda yang menggunakan komponen OpenFeign terhubung ke ARMS Application Monitoring, data aplikasi mungkin tidak lengkap dan data aplikasi hilir mungkin gagal ditampilkan. Masalah ini dapat terjadi karena komponen OpenFeign mengaktifkan Hystrix, yang secara default menggunakan framework asinkron RxJava. Namun, ARMS tidak mendukung framework asinkron.

Catatan

Topik ini berlaku untuk skenario di mana versi ARMS agent untuk aplikasi Java lebih awal dari 2.6.0. ARMS agent versi 2.6.0 atau lebih baru yang disediakan untuk aplikasi Java mendukung framework asinkron.

Anda dapat menonaktifkan Hystrix dan mengaktifkan kelas permintaan OkHttp untuk menyelesaikan masalah ini.

  1. Tambahkan dependensi berikut ke file pom.xml:

    <!-- OKHttp supports Feign -->
    <dependency>
     <groupId>io.github.openfeign</groupId>
     <artifactId>feign-okhttp</artifactId>
    </dependency> 
  2. Tambahkan konten berikut ke file konfigurasi SpringCloud:

    feign.okhttp.enabled: true
    feign.hystrix.enabled: false 
  3. Konfigurasikan kelas permintaan OkHttp:

    @Configuration
    @ConditionalOnClass(Feign.class)
    @AutoConfigureBefore(FeignAutoConfiguration.class)
    public class FeignClientOkHttpConfiguration {
    
     @Bean
     public OkHttpClient okHttpClient() {
     return new OkHttpClient.Builder()
     // Koneksi habis waktu.
     .connectTimeout(20, TimeUnit.SECONDS)
     // Tanggapan habis waktu.
     .readTimeout(20, TimeUnit.SECONDS)
     // Permintaan tulis habis waktu.
     .writeTimeout(20, TimeUnit.SECONDS)
     // Menunjukkan apakah akan mengaktifkan rekoneksi otomatis.
     .retryOnConnectionFailure(true)
     // Pool koneksi.
     .connectionPool(new ConnectionPool())
     .build();
     }