يشير جدولة المهام إلى أداء المهام تلقائيًا بناءً على نقطة زمنية معينة أو فاصل زمني معين أو عدد معين من عمليات الإعدام.
على سبيل المثال ، نريد أن يقوم نظام بإعداد ملف قاعدة البيانات كل يوم أحد في الساعة 9 مساءً ، ويمكننا استخدام جدولة المهام لتنفيذها. لمزيد من الراحة ، نحتاج إلى بدء تشغيل هذا الجدولة تلقائيًا بعد بدء Tomcat.
ها هي واجهة برمجة تطبيقات Timertask:
فيما يلي واجهة برمجة تطبيقات فئة المؤقت
يتم تنفيذ وظيفتين في المثال التالي:
1. راقب بدء التشغيل وإغلاق حاوية الويب الخاصة بـ Tomcat
2. عند بدء تشغيل حاوية الويب ، يخصص جدول المهام كائن المهمة والوقت والفترة.
من أجل مراقبة التغييرات في حاويات الويب ، تحتاج إلى تسجيل مستمع في web.xml أولاً
<؟ XSI: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <! <Stearer-Class> com.util.timerListener </stanterer-class> </stanter> <عرض العرض> </display-name> <-live-file-lister> <lispile-file> index.jsp </iship-file> </siffile-list> </web-app>
الخطوة الثانية هي تحديد كائن مهمة ، timertask الأساسي
package com.util ؛ import java.util.timer ؛ import java.util.timertask ؛/** * 1. تحديد كائن مهمة * jdk - يحتاج كائن المهمة إلى أن يرث timertask * */public class databackup تقاطعات وبيانات إلى ملف SQL المحلي ") ؛ }}
الخطوة 3. مراقبة التغييرات في حاوية الويب. عند بدء تشغيل حاوية الويب ، تخصيص الوقت والدورات لجدولة المهام. الرمز التالي يحتوي على عدة أمثلة.
package com.util ؛ import java.util.date ؛ import java.util.timer ؛ import javax.servlet.servletcontextevent ؛ import javax.servlet.servletContextListener ؛ public class disterListener تنفذ servletcontextener {private static timer timer ؛ / *** استمع إلى Web Container Close*/ Override public void contextDestroyed (servletContextevent Scce) {system.out.println ("Web Container Close") ؛ Timer.Cancel () ؛ } / *** استمع إلى بدء تشغيل حاوية الويب* / Override public void contextInitialized (ServletContextevent Scet) {system.out.println ("Web Container Startup") ؛ / *** إعداد المقياس الموقت*/ timer = new timer () ؛ System.out.println ("المؤقت قيد الإعداد ويبدأ تخصيص الوقت وفترات لجدولة المهام") ؛ // إنشاء Task Object DataBackup Backup = جديد databackup () ؛ // 1 جدول (مهمة TimerTask ، وقت البيانات) // جدولة المهمة المحددة لبدء التنفيذ في الوقت المحدد // يجب تقليل الشهر بواسطة واحد //timer.schedule(backup ، تاريخ جديد (115،8،10،9،5،0)) ؛ // 2 الجدول الزمني (Timertask Task ، Date First Time ، Peried Period) // الجدول الزمني (النسخ الاحتياطي ، التاريخ الجديد (115،8،10،0،0) ، 2000) ؛ // 3schedule (مهمة TimerTask ، تأخير طويل) // الجدول (مهمة TimerTask ، تأخير طويل) // الجدول الزمني (Timertask Task ، تأخير طويل) // الجدول الزمني (Timertask Task ، Long Delay) // Time Task (Timertask Task ، Timertask Task ، Timerg Task (Timertask Task ، TimeRding Task ، TimeRding Task ، TimeDask Task (Timertask Task ، Timerask Task ، Timertask Task ، Timertask ، // الجدول (مهمة TimerTask ، تأخير طويل) //timer.schedule(backup ، 5000) ؛ // 4 الجدول الزمني (TimerTask Task ، تأخير طويل ، فترة طويلة) //timer.schedule(backup ، 5000 ، 2000) ؛ // 5. تغادر مرة واحدة مهمة في الساعة 9 صباحًا كل يوم //timer.schedule(backup ، تاريخ جديد (115،8،11،9،0،0) ، 24*60*60*1000) ؛ // 6. تغادر مرة واحدة مهمة في الساعة 3 صباحًا كل يوم سبت //timer.schedule(backup ، تاريخ جديد (115،8،12،3،0،0) ، 7*24*60*1000) ؛ }} وبهذه الطريقة ، عند بدء تشغيل Tomcat ، سيبدأ كائن المهمة في التنفيذ وفقًا لوقتك ودورتك المخصصة.
ملخص: استخدم المؤقت لتنفيذ جدولة المهام ، أولاً إنشاء كائن مهمة محدد ، مثل النسخ الاحتياطي هنا ؛ ثم قم بتأسيس مؤقت ، وتشكيل كائن المهمة ، واتصل بالطريقة المقابلة وفقًا للمتطلبات لتخصيص الوقت والفترة لكائن المهمة. ما سبق هو تنفيذ جدولة المهام. أما عندما يبدأ هذا المؤقت ، فهذا هو عندما يبدأ المؤقت في إنشاء إنشاء مثيل ، يجب تحديده بناءً على الموقف الفعلي. على سبيل المثال ، فإن الكود أعلاه هو بدء تشغيل المؤقت بعد بدء حاوية الويب.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.