البرنامج التعليمي: تصحيح تطبيق Java المنشورة على كتلة نسيج الخدمة المحلية
يُعد هذا البرنامج التعليمي جزءًا ثانيًا ضمن سلسلة. تتعلم كيفية إرفاق مصحح أخطاء بعيد باستخدام Eclipse لتطبيق "Service Fabric". بالإضافة إلى ذلك، يمكنك معرفة كيفية إعادة توجيه السجلات من التطبيقات قيد التشغيل إلى موقع ملائم للمطور.
ستتعلم في سلسلة البرامج التعليمية هذه كيفية:
- بناء تطبيق خدمات Java Service Fabric موثوقة
- نشر التطبيق وتصحيحه على كتلة محلية
- قم بنشر التطبيق إلى مجموعة Azure
- قم بإعداد المراقبة والعلامات المميزة للتطبيق
- قم بإعداد CI/CD
في الجزء الأول من السلسلة، ستتعلم كيفية:
- تصحيح تطبيق Java باستخدام Eclipse
- إعادة توجيه السجلات إلى موقع قابل للتكوين
المتطلبات الأساسية
قبل أن تبدأ هذا البرنامج التعليمي:
- إعداد بيئة التطوير الخاصة بك لنظام التشغيل Mac أو Linux. اتبع الإرشادات لتثبيت Eclipse، Gradle، Service Fabric SDK وService Fabric CLI (sfctl).
قم بتنزيل تطبيق نموذج التصويت
إذا لم تقم ببناء تطبيق نموذج التصويت في الجزء الأول من هذه السلسلة التعليمية، فإنه يمكنك تنزيله. في إطار أمر، قم بتشغيل الأمر التالي لنسخ نموذج مستودع التطبيق إلى الجهاز المحلي.
git clone https://github.com/Azure-Samples/service-fabric-java-quickstart
قم بإنشاء ونشر التطبيق إلى كتلة التطوير المحلي.
تصحيح تطبيق Java باستخدام Eclipse
افتح Eclipse IDE على جهازك وانقر فوق File -> Import....
في النافذة المنبثقة، حدد الخيار General -> المشاريع الحالية في مساحة العمل واضغط على Next.
في إطار استيراد المشاريع، اختر الخيار تحديد الدليل الجذر، واختر دليل التصويت. إذا اتبعت سلسلة البرنامج التعليمي واحد، فدليل التصويت يكون في دليل مساحة عمل Eclipse.
تحديث entryPoint.sh على الخدمة التي ترغب في تصحيحها؛ بحيث تبدأ عملية Java بمعلمات التصحيح البعيد. لهذا البرنامج التعليمي يتم استخدام الواجهة الأمامية عديمي الجنسية: Voting/VotingApplication/VotingWebPkg/Code/entryPoint.sh. تم تعيين المنفذ 8001 لتصحيح الأخطاء في هذا المثال.
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar VotingWeb.jar
تحديث "بيان التطبيق" عن طريق تعيين عدد المثيلات أو عدد النسخ المتماثلة للخدمة التي يتم تصحيحها إلى واحد. يتجنب هذا الإعداد تعارضات المنفذ المستخدم لتصحيح الأخطاء. على سبيل المثال، بالنسبة للخدمات عديمة الحالة، قم بتعيين
InstanceCount="1"
ولخدمات الحالة الخاصة قم بتعيين الأحجام الهدف والصغرى المحددة للنسخة المتماثلة إلى 1 كما يلي: TargetReplicaSetSize="1" MinReplicaSetSize="1"
.في Eclipse IDE، حدد Run -> Debug Configurations -> Remote Java Application، واضغط على الزر New، واضبط الخصائص على النحو التالي وانقر فوق Apply.
Name: Voting Project: Voting Connection Type: Standard Host: localhost Port: 8001
وضع نقطة توقف على السطر 109 من Voting/VotingWeb/src/statelessservice/HttpCommunicationListener.java.
في Package Explorer، انقر بزر الماوس الأيمن فوق مشروع Voting وانقر فوق Service Fabric -> Publish Application ...
في إطار تطبيق النشر، حدد Local.js من القائمة المنسدلة، وانقر فوق نشر.
في Eclipse IDE، حدد Run -> Debug Configurations -> Remote Java Application، انقر فوق تكوين Voting الذي أنشأته وانقر فوق Debug.
انتقل إلى متصفح الويب الخاص بك، والوصول إلى المضيف المحلي:8080. هذا وسوف تصل تلقائيًا إلى نقطة التوقف، وسوف الكسوف أدخل منظور التصحيح.
الآن يمكنك تطبيق هذه الخطوات نفسها لتصحيح أي تطبيق "نسيج الخدمة" في Eclipse.
إعادة توجيه سجلات التطبيقات إلى موقع مخصص
الخطوات التالية من خلال كيفية إعادة توجيه سجلات التطبيق من الموقع الافتراضي /var/log/syslog إلى موقع مخصص.
حاليًا، التطبيقات قيد التشغيل في كتل Service Fabric Linux فقط تدعم التقاط ملف سجل واحد. لإعداد تطبيق بحيث تنتقل السجلات دومًا إلى /tmp/mysfapp0.0.log، إنشاء ملف المسمىlogging.properties في الموقع التالي Voting/VotingApplication/VotingWebPkg/Code/logging.properties، وإضافة المحتوى التالي.
handlers = java.util.logging.FileHandler java.util.logging.FileHandler.level = ALL java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter # This value specifies your custom location. # You will have to ensure this path has read and write access by the process running the SF Application java.util.logging.FileHandler.pattern = /tmp/mysfapp0.0.log
إضافة المعلمة التالية في التصويت/ التصويت التطبيق/VotingWebPkg/رمز/entryPoint.sh لأمر تنفيذ Java:
-Djava.util.logging.config.file=logging.properties
يظهر المثال التالي تنفيذ نموذج مع المصحح المرفقة، مشابهة لتنفيذ في المقطع السابق.
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -Djava.util.logging.config.file=logging.properties -jar VotingWeb.jar
في هذه المرحلة، تعلمت كيفية تصحيح سجلات التطبيقات، والوصول إليها أثناء تطوير تطبيقات Service Fabric Java.
الخطوات التالية
في هذا الجزء من البرنامج التعليمي، تعلمت كيفية:
- تصحيح تطبيق Java باستخدام Eclipse
- إعادة توجيه السجلات إلى موقع قابل للتكوين
تقدم إلى البرنامج التعليمي التالي: