Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure App Configuration memiliki dua pustaka untuk Spring.
-
spring-cloud-azure-appconfiguration-configmembutuhkan Spring Boot dan mengambil dependensi padaspring-cloud-context. -
spring-cloud-azure-appconfiguration-config-webmemerlukan Spring Web disertai Spring Boot, dan juga menambahkan dukungan untuk pemeriksaan otomatis refresh konfigurasi.
Kedua pustaka mendukung pemicu manual untuk memeriksa nilai konfigurasi yang direfresh.
Refresh memungkinkan Anda memperbarui nilai konfigurasi tanpa harus menghidupkan ulang aplikasi Anda, meskipun menyebabkan semua kacang dalam @RefreshScope dibuat ulang. Ini memeriksa setiap perubahan pada pemicu yang dikonfigurasi, termasuk metadata. Secara default, jumlah waktu minimum antara pemeriksaan perubahan, interval refresh, diatur ke 30 detik.
Refresh otomatis spring-cloud-azure-appconfiguration-config-web dipicu berdasarkan aktivitas, terutama ServletRequestHandledEvent Spring Web.
ServletRequestHandledEvent Jika tidak dipicu, spring-cloud-azure-appconfiguration-config-webrefresh otomatis tidak memicu refresh meskipun waktu kedaluwarsa cache kedaluwarsa.
Gunakan penyegaran manual
Untuk menggunakan refresh manual, mulai dengan aplikasi Spring Boot yang menggunakan App Configuration, seperti aplikasi yang Anda buat dengan mengikuti Mulai cepat Spring Boot untuk App Configuration.
App Configuration menampilkan AppConfigurationRefresh, yang memeriksa apakah interval penyegaran telah berlalu. Jika interval pembaruan telah berlalu, maka akan memicu pembaruan.
Untuk menggunakan
AppConfigurationRefresh, perbarui HelloController.import com.azure.spring.cloud.config.AppConfigurationRefresh; @RestController public class HelloController { private final MessageProperties properties; @Autowired(required = false) private AppConfigurationRefresh refresh; public HelloController(MessageProperties properties) { this.properties = properties; } @GetMapping public String getMessage() throws InterruptedException, ExecutionException { if (refresh != null) { refresh.refreshConfigurations(); } return "Message: " + properties.getMessage(); } }AppConfigurationRefresh'srefreshConfigurations()mengembalikan trueMonojika refresh dipicu, dan false jika tidak. False berarti waktu kedaluwarsa cache tidak kedaluwarsa, tidak ada perubahan, atau utas lain saat ini sedang memeriksa refresh.Catatan
Untuk pustaka seperti Spring WebFlux yang memerlukan panggilan non-pemblokiran,
refreshConfigurations()perlu dibungkus dalam utas karena konfigurasi pemuatan memerlukan panggilan pemblokiran.new Thread(() -> refresh.refreshConfigurations()).start();Untuk mengaktifkan pembaruan
bootstrap.propertiesrefresh :spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval= 30s spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinelBuka Portal Microsoft Azure dan buka sumber daya App Configuration yang terkait dengan Aplikasi Anda. Pilih Penjelajah Konfigurasi di bawah Operasi dan buat pasangan kunci-nilai baru dengan memilih +Buat>Nilai-kunci untuk menetapkan parameter berikut:
Tombol Nilai Sentinel 1 Biarkan Label dan Jenis Konten kosong untuk saat ini.
Pilih Terapkan.
Bangun aplikasi Spring Boot Anda dengan Maven dan jalankan.
mvn clean package mvn spring-boot:runBuka jendela browser, dan buka URL:
http://localhost:8080. Anda melihat pesan yang terkait dengan kunci Anda.Anda juga dapat menggunakan curl untuk menguji aplikasi Anda, misalnya:
curl -X GET http://localhost:8080/Untuk menguji konfigurasi dinamis, buka portal Azure App Configuration yang terkait dengan aplikasi Anda. Pilih Explorer Konfigurasi, dan perbarui nilai kunci Anda yang ditampilkan, misalnya:
Tombol Nilai /application/config.message Halo - Diperbarui Perbarui kunci sentinel yang Anda buat sebelumnya ke nilai baru. Perubahan ini memicu aplikasi untuk me-refresh semua kunci konfigurasi setelah interval refresh diteruskan.
Tombol Nilai Sentinel 2 Refresh halaman browser dua kali untuk melihat pesan baru yang ditampilkan. Yang pertama memicu refresh, dan yang kedua memuat perubahan.
Catatan
Pustaka memeriksa perubahan hanya setelah interval refresh berlalu. Jika interval penyegaran belum berlalu, sistem tidak memeriksa perubahan. Tunggu hingga interval berlalu, lalu picu pemeriksaan refresh.
Menggunakan penyegaran otomatis
Untuk menggunakan penyegaran otomatis, mulai dengan aplikasi Spring Boot yang menggunakan Azure App Configuration, seperti aplikasi yang Anda buat dengan mengikuti mulai cepat Spring Boot untuk Azure App Configuration.
Kemudian, buka file pom.xml di editor teks, dan tambahkan <dependency> untuk spring-cloud-azure-appconfiguration-config-web menggunakan kode berikut.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
<version>6.0.0</version>
</dependency>
Untuk mengaktifkan pembaruan
application.propertiesrefresh :spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval= 30s spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinelBuka Portal Microsoft Azure dan buka sumber daya App Configuration yang terkait dengan Aplikasi Anda. Pilih Penjelajah Konfigurasi di bawah Operasi dan buat pasangan kunci-nilai baru dengan memilih +Buat>Nilai-kunci untuk menetapkan parameter berikut:
Tombol Nilai Sentinel 1 Biarkan Label dan Jenis Konten kosong untuk saat ini.
Pilih Terapkan.
Bangun aplikasi Spring Boot Anda dengan Maven dan jalankan.
mvn clean package mvn spring-boot:runBuka jendela browser, dan buka URL:
http://localhost:8080. Anda sekarang melihat pesan yang terkait dengan kunci Anda.Anda juga dapat menggunakan curl untuk menguji aplikasi Anda, misalnya:
curl -X GET http://localhost:8080/Untuk menguji konfigurasi dinamis, buka portal Azure App Configuration yang terkait dengan aplikasi Anda. Pilih Explorer Konfigurasi, dan perbarui nilai kunci Anda yang ditampilkan, misalnya:
Tombol Nilai /application/config.message Halo - Diperbarui Perbarui kunci sentinel yang Anda buat sebelumnya ke nilai baru. Perubahan ini memicu aplikasi untuk me-refresh semua kunci konfigurasi setelah interval refresh diteruskan.
Tombol Nilai Sentinel 2 Refresh halaman browser dua kali untuk melihat pesan baru yang ditampilkan. Yang pertama memicu refresh, yang kedua memuat perubahan, karena permintaan pertama ditampilkan menggunakan cakupan asli.
Catatan
Pustaka memeriksa perubahan hanya setelah interval refresh berlalu. Jika interval penyegaran belum berlalu, sistem tidak memeriksa perubahan. Tunggu hingga interval berlalu, lalu picu pemeriksaan refresh.
Langkah berikutnya
Dalam tutorial ini, Anda mengaktifkan aplikasi Spring Boot Anda untuk secara dinamis merefresh pengaturan konfigurasi dari Azure App Configuration. Untuk pertanyaan lebih lanjut, lihat dokumentasi referensi, dokumentasi ini berisi semua detail tentang cara kerja pustaka Spring Cloud Azure App Configuration. Untuk mempelajari cara menggunakan identitas terkelola Azure guna menyederhanakan akses ke App Configuration, lanjut ke tutorial berikutnya.