Hari ini saya menemui perkhidmatan yang boleh didaftarkan dengan jayanya, tetapi pemeriksaan kesihatan gagal saya mengakses URL pemeriksaan kesihatan melalui penyemak imbas, dan rangkaian Chrome terus dipaparkan, menunjukkan bahawa permintaan ini Diserahkan, tetapi tidak mendapat jawapan dan tersekat.
Pada asalnya saya berpendapat bahawa pemeriksaan kesihatan adalah untuk memeriksa sama ada permintaan /kesihatan di bawah pelabuhan perkhidmatan boleh kembali seperti biasa, tetapi tidak.
Apa yang dipanggil pemeriksaan kesihatan mempunyai banyak item semakan Springboot mewarisi kelas AbstractHealthIndicator, seperti DataSourceHealthIndicator RedisHealthIndicator, dsb. Springboot akan mengkonfigurasinya secara automatik. dilaksanakan semasa pemeriksaan kesihatan (), jika redis digunakan, doHealthCheck() RedisHealthIndicator akan dilaksanakan.
Pertama sekali, anda boleh menentukan sama ada sumber data luaran ini tidak boleh disambungkan, menyebabkan pemeriksaan kesihatan gagal Anda boleh mengkonfigurasi
management: health: db: enabled: false redis: enabled: false elasticsearch: enabled: false
untuk dimatikan kesihatan semua yang digunakan dalam sistem untuk melihat sama ada pemeriksaan kesihatan boleh lulus secara normal. situasi adalah disebabkan oleh konfigurasi url mysql yang salah, seperti port yang salah, atau keizinan pengguna mysql yang tidak mencukupi, doHealthCheck() DataSourceHealthIndicator akan menyambung ke mysql tetapi sambungan tidak berjaya, dan ia akan tersekat dalam menyambung ke mysql.
Konfigurasikan URL yang betul, dayakan kebenaran dan selesaikan masalah.
Konfigurasi dan organisasi pemeriksaan kesihatan Spring Boot
2. Apakah semakan yang ada dalam projek Spring Boot dan cara mengkonfigurasi semakan berkaitan:
2.1 Pertama, pakej yang diperkenalkan oleh pemeriksaan kesihatan ialah <dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-actuator</artifactid>
</dependency>
CassandraHealthIndicator
DiskSpaceHealthIndicator
DataSourceHealthIndicator
ElasticsearchHealthIndicator
JmsHealthIndicator
MailHealthIndicator
MongoHealthIndicator
RabbitHealthIndicator
RedisHealthIndicator
SolrHealthIndicator
Tetapan eksplisit dalam application.properties
//如禁止es的健康检查如下,默认均为开启状态 management.health.elasticsearch.enabled=false
Anda juga boleh menggunakan *Lumpuhkan semua
management.health.*.enabled=false
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah jika pemeriksaan kesihatan penggerak SpringBoot gagal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!