إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يحتوي تكوين التطبيق على مكتبتين لـ Spring.
-
spring-cloud-azure-appconfiguration-configيتطلب Spring Boot ويعتمد علىspring-cloud-context. -
spring-cloud-azure-appconfiguration-config-webيتطلب Spring Web جنبًا إلى جنب مع Spring Boot، ويضيف أيضًا دعمًا للتحقق التلقائي من تحديث التكوين.
تدعم المكتبتان التشغيل اليدوي للتحقق من قيم التكوين المحدَّثة.
يسمح لك التحديث بتحديث قيم التكوين الخاصة بك دون الحاجة إلى إعادة تشغيل التطبيق الخاص بك، على الرغم من أنه يتسبب في إعادة إنشاء جميع الفاصوليا في @RefreshScope . يفحص أي تغييرات على المشغلات التي كونت بما في ذلك بيانات التعريف. يتم، بشكل افتراضي، تعيين الحد الأدنى من الوقت بين عمليات التحقق من التغييرات والفاصل الزمني للتحديث على 30 ثانية.
spring-cloud-azure-appconfiguration-config-webيتم تشغيل التحديث التلقائي على أساس النشاط وتحديدًا ServletRequestHandledEvent لـ Spring Web.
ServletRequestHandledEvent إذا لم يتم تشغيل ، spring-cloud-azure-appconfiguration-config-webلا يقوم التحديث التلقائي بتشغيل تحديث حتى إذا انتهت صلاحية وقت انتهاء صلاحية ذاكرة التخزين المؤقت.
استخدام التحديث اليدوي
لاستخدام التحديث التلقائي، ابدأ بتطبيق Spring Boot الذي يستخدم «تكوين التطبيق» مثل التطبيق الذي تنشئه باتباع تشغيل Spring Boot السريع لتكوين التطبيق.
يعرض AppConfigurationRefreshتكوين التطبيق ، الذي يتحقق مما إذا كان الفاصل الزمني للتحديث قد مر. إذا مر الفاصل الزمني للتحديث، فإنه يقوم بتشغيل تحديث.
لاستخدام
AppConfigurationRefresh، قم بتحديث HelloController.import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.azure.spring.cloud.appconfiguration.config.AppConfigurationRefresh; @RestController public class HelloController { @Autowired private final AppConfigurationRefresh appConfigurationRefresh; @Autowired private final MyProperties properties; @GetMapping public String hello() { // Manually refresh configuration from Azure App Configuration appConfigurationRefresh.refreshConfigurations().block(); // Read the property value from @ConfigurationProperties bean return "Message: " + properties.getMessage(); } }AppConfigurationRefreshrefreshConfigurations()ترجع هذه الدالةMonoالقيمة true إذا تم تشغيل تحديث، وخطأ إذا لم يكن الأمر صحيحا. خطأ يعني إما أن وقت انتهاء صلاحية ذاكرة التخزين المؤقت لم تنته صلاحيته، أو لم يكن هناك تغيير، أو أن مؤشر ترابط آخر يتحقق حاليا من وجود تحديث.إشعار
بالنسبة للمكتبات مثل Spring WebFlux التي تتطلب مكالمات غير محظورة،
refreshConfigurations()يجب تضمينها في مؤشر ترابط حيث يتطلب تحميل التكوينات استدعاء حظر.new Thread(() -> refresh.refreshConfigurations()).start();لتمكين تحديث
application.propertiesالتحديث:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=trueقم ببناء تطبيق Spring Boot الخاص بك مع Maven وتشغيله.
mvn clean package mvn spring-boot:runافتح نافذة مستعرض، ثم انتقل إلى عنوان URL:
http://localhost:8080. ترى الرسالة المقترنة بمفتاحك.يمكنك أيضًا استخدام curl لاختبار تطبيقك، على سبيل المثال:
curl -X GET http://localhost:8080/لاختبار التكوين الديناميكي، افتح بوابة Azure App Configuration المرتبطة بتطبيقك. حدد مستكشف التكوين، ثم قم بتحديث قيمة مفتاحك المعروضة، على سبيل المثال:
مفتاح القيمة /application/config.message مرحبًا - مُحدَثة قم بتحديث صفحة المستعرض مرتين لعرض الرسالة الجديدة. في المرة الأولى التي يتم فيها تشغيل التحديث، تعمل الثانية على تحميل التغييرات.
إشعار
تتحقق المكتبة من التغييرات فقط بعد مرور الفاصل الزمني للتحديث. إذا لم يمر الفاصل الزمني للتحديث، فلن يتحقق من وجود تغييرات. انتظر حتى يمر الفاصل الزمني، ثم قم بتشغيل التحقق من التحديث.
استخدام التحديث التلقائي
لاستخدام التحديث التلقائي، ابدأ بتطبيق Spring Boot الذي يستخدم تكوين التطبيق، مثل التطبيق الذي تنشئه باتباع تشغيل Spring Boot السريع لتكوين التطبيق.
ثم، افتح ملف pom.xml في محرر نص، ثم أضف <dependency> لـ spring-cloud-azure-appconfiguration-config-web باستخدام التعليمات البرمجية التالية.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
<version>7.1.0</version>
</dependency>
لتمكين تحديث
application.propertiesالتحديث:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=trueقم ببناء تطبيق Spring Boot الخاص بك مع Maven وتشغيله.
mvn clean package mvn spring-boot:runافتح نافذة مستعرض، ثم انتقل إلى عنوان URL:
http://localhost:8080. ترى الآن الرسالة المقترنة بمفتاحك.يمكنك أيضًا استخدام curl لاختبار تطبيقك، على سبيل المثال:
curl -X GET http://localhost:8080/لاختبار التكوين الديناميكي، افتح بوابة Azure App Configuration المرتبطة بتطبيقك. حدد مستكشف التكوين، ثم قم بتحديث قيمة مفتاحك المعروضة، على سبيل المثال:
مفتاح القيمة /application/config.message مرحبًا - مُحدَثة قم بتحديث صفحة المستعرض مرتين لعرض الرسالة الجديدة. في المرة الأولى التي يتم فيها تشغيل التحديث، تبدأ الثانية بتحميل التغييرات، إذ يعود الطلب الأول باستخدام النطاق الأصلي.
إشعار
تتحقق المكتبة من التغييرات فقط بعد مرور الفاصل الزمني للتحديث. إذا لم يمر الفاصل الزمني للتحديث، فلن يتحقق من وجود تغييرات. انتظر حتى يمر الفاصل الزمني، ثم قم بتشغيل التحقق من التحديث.
الخطوات التالية
في هذا البرنامج التعليمي، قمت بتمكين تطبيق Spring Boot لتحديث إعدادات التكوين ديناميكيًا من تكوين التطبيق. لمزيد من الأسئلة، راجع reference documentation، يحتوي على كل التفاصيل حول كيفية عمل مكتبة Spring Cloud Azure App Configuration. لتعلم كيفية استخدام هوية Azure المدارة لتبسيط الوصول إلى إعدادات التطبيق، تابع إلى الدرس التالي.