SpringCloud2.x التكامل سلسلة springboot.

الربيع سحابة الإصدار 2.x سلسلة من springboot الكوارتز المتكاملة

  • جافا تصميم وضع أنماط مراقب
  • موجة كبيرة من تقاسم الفيديو
  • أطلس ماي تثبيت عامل الوسيطة والتكوين

أحيانا يكون هناك مهمة وظيفة الموقت في القيام المشروع، مثل وقت معين ما يجب القيام به، وكم ثانية فإنه ينبغي نوع من مثل. المهام العادية سيناريو العمل المشترك هو البيانات الإحصائية. الربيع في دعم مجموعة متنوعة من المهام في الوقت المناسب، وإدخال اليوم توقيت استخدام الربيع وتوقيت الكوارتز. A، توقيت الربيع

يأتي الربيع الموقت مهمة والدعم. مهمة مجدولة الذي يمكن أن يتحقق عن طريق تكوين بسيط. وتستخدم أساسا في الملاحظتين التاليتين:

EnableScheduling: مهمة توقيت المبرمجة

 Scheduled: تعريف المهام العادية

المواصفات العامة:

Scheduled (fixedRate = 2000): تبدأ بعد النقطة الأخيرة من الوقت من 2 ثانية يتم تنفيذ مرة أخرى

 Scheduled (fixedDelay = 2000): بعد إجراء الانتهاء من تنفيذ المرحلة الأخيرة من الوقت من 2 ثانية مرة أخرى

 Scheduled (initialDelay = 1000، fixedDelay = 2000): 1 ثانية تأخير تنفيذ أولا، ثم بعد الانتهاء من المرحلة الأخيرة من الوقت يؤديها مرة أخرى 2 ثانية

 Scheduled (كرون = "** * * *؟"): تنفيذ القواعد التي كرون

اثنين، الكوارتز المهام العادية

 quzrtz فهم المفاهيم الرئيسية على النحو التالي:

الوظيفة: واجهة واحدة فقط طريقة الفراغ تنفيذ (السياق JobExecutionContext)، الذي يعرف من قبل المطورين واجهة لتنفيذ أشواط مهمة، توفر الدرجة JobExecutionContext معلومات حول السياق الجدولة. المعلومات المخزنة في المثال JobDataMap وقت العمل.

JobDetail: كوارتز الوظيفة تنفيذها في كل مرة، على سبيل المثال وظيفة صوغه، فإنه لا يتلقى مباشرة مثيل العمل، على العكس من ذلك يحصل على الدرجة تنفيذ العمل، وذلك من خلال تشغيل newInstance () لإنشاء مثيل على وظيفة التفكير. حتى الطبقة تنفيذ العمل وغيرها من الاحتياجات من المعلومات ساكنة ذات الصلة التي وصفها فئة، مثل اسم الوظيفة والوصف، وغيرها من المعلومات المرتبطة المستمع، افترض JobDetail هذا الدور.

الزناد: هي فئة تصف وقت الزناد الزناد حكم الإعدام العمل. هناك SimpleTrigger وCronTrigger اثنين من الفئات الفرعية. عندما أثار مرة واحدة فقط أو أجريت في فترة زمنية محددة، فمن معظم اختيار مناسب للSimpleTrigger، يمكن تعريف CronTrigger من التعبير خطة جدولة زمنية منتظمة كرون معقد: 01:00 تؤدي مثل كل أيام الاثنين والأربعاء الجمعة 05:00 التنفيذ.

التقويم: org.quartz.Calendar مختلفة وjava.util.Calendar، بل هو مجموعة من نقطة محددة التقويم في الوقت المناسب (يمكن ببساطة أن ينظر إليه على أنه جمع java.util.Calendar org.quartz.Calendar --java.util.Calendar وهو يمثل لحظة من الزمن والتقويم، ما لم يذكر خلاف ذلك الجدول الزمني يشير org.quartz.Calendar الظهر). وعدد وافر من التقويم يمكن أن يشارك الزناد لاستبعاد أو تضمين نقطة معينة من الزمن. لنفترض أننا المقرر للتنفيذ في الساعة 10:00 صباح يوم الاثنين من كل اسبوع، ولكن إذا واجهت عطلة رسمية، لم يتم تنفيذ هذه المهمة، ثم تحتاج إلى استخدام الحارس التقويم استبعاد على أساس آليات الزناد الزناد.

جدولة: كوارتز باسم وعاء مستقل، الزناد وJobDetail يمكن تسجيلها على جدولة، كلا المجموعتين لها باسمها وفي جدولة، جدولة هو اسم المجموعة ونظرة لتحديد المواقع كائن في أساس حاوية، مجموعة الزناد و يجب أن يكون اسم فريد، كما يجب أن يكون مجموعة JobDetail واسم فريد (ولكن يمكن أن تؤدي إلى اسم مجموعة واحدة، لأنها أنواع مختلفة). تعرف جدولة تعدد أساليب الواجهة، يسمح بالوصول الخارجي واسم المجموعة والزناد وJobDetail سفينة السيطرة.

1، والمشروع الجديد، المقابلة لpom.xml الوثائق التالية

< XMLNS مشروع = " XMLNS: XSI = "

XSI: schemaLocation = " >

  < modelVersion > 4.0.0 < / ModelVersion >

  < groupId > الربيع سحابة < / GroupId >

  < artifactId > المجدولة الشوري < / ArtifactId >

  < نص > 0.0.1 لقطة < / النسخة >

  < التعبئة والتغليف > جرة < / تغليف >

  < اسم > المجدولة الشوري < / اسم >

  < رابط > < / URL >

  < أصل >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية الوالدين < / ArtifactId >

  < نص > 2.0.4.RELEASE < / النسخة >

  < / الرئيسي >

  < dependencyManagement >

  < تبعيات >

  < التبعية >

  < groupId > org.springframework.cloud < / GroupId >

  < artifactId > الربيع سحابة تبعيات < / ArtifactId >

  < نص > Finchley.RELEASE < / النسخة >

  < نوع > بوم < / النوع >

  < مجال > استيراد < / نطاق >

  < / التبعية >

  < / التبعيات >

  < / DependencyManagement >

  < خصائص >

  < project.build.sourceEncoding > UTF-8 < /project.build.sourceEncoding >

  < maven.compiler.source > 1.8 < /maven.compiler.source >

  < maven.compiler.target > 1.8 < /maven.compiler.target >

  < / خصائص >

  < تبعيات >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية < / ArtifactId >

  < / التبعية >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية على شبكة الإنترنت < / ArtifactId >

  < / التبعية >

  < ! - الحاجة المتكاملة الكوارتز لإدخالها - >

  < ! - الكوارتز تبعياته - >

  < ! - < التبعية >

  < groupId > org.quartz-جدولة < / GroupId >

  < artifactId > كوارتز < / ArtifactId >

  < / التبعية >

  < التبعية >

  < groupId > org.quartz-جدولة < / GroupId >

  < artifactId > الكوارتز وظائف < / ArtifactId >

  < / التبعية > - >

  < التبعية >

  < groupId > org.springframework.boot < / GroupId >

  < artifactId > الربيع التمهيد بداية الكوارتز < / ArtifactId >

  < / التبعية >

  < / التبعيات >

< / مشروع >

2، sprinboot الجديدة الطبقة بدء التشغيل ScheduledApplication.java

حزمة sc.schedule.

استيراد org.springframework.boot.SpringApplication.

استيراد org.springframework.boot.autoconfigure.SpringBootApplication.

استيراد org.springframework.scheduling.annotation.EnableScheduling.

SpringBootApplication

EnableScheduling // الربيع الطلق يأتي مع المهام العادية

publicclass ScheduledApplication {

 ساكنة العام باطلة الرئيسية (سلسلة وسائط) {

 SpringApplication.run (ScheduledApplication.class، وسائط)؛

 }

}

3، والطبقة الربيع المهمة الموقت

packagesc.schedule.spring.

استيراد java.text.SimpleDateFormat.

استيراد java.util.Date.

استيراد org.springframework.scheduling.annotation.Scheduled.

استيراد org.springframework.stereotype.Component.

Component

SpringScheduled الطبقة العامة {

 // تنفيذ كل 1 دقيقة

 Scheduled (كرون = "0 * / 1 * ** *")

 reportCurrentByCron الفراغ الجمهور () {

 System.out.println ( "المهام الربيع الجدولة:" + DateFormat () شكل (تاريخ جديد ()))؛

 }

 خاصة SimpleDateFormat dateFormat () {

 returnnewSimpleDateFormat ( "HH: MM: SS")؛

 }

}

4، والطبقة الكوارتز مهمة الموقت

وضع واحدة المهام:

حزمة sc.schedule.quartz.

استيراد org.quartz.JobDetail.

استيراد org.quartz.Trigger.

استيراد org.springframework.context.annotation.Bean.

استيراد org.springframework.context.annotation.Configuration.

استيراد org.springframework.scheduling.quartz.CronTriggerFactoryBean.

استيراد org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean.

importorg.springframework.scheduling.quartz.SchedulerFactoryBean.

Configuration

publicclass QuartzScheduledOne {

 Bean

 الجمهور ScheduledJobOne getScheduledJobOne () {

 العودة ScheduledJobOne جديدة ()؛

 }

 / **

 * مصنع جدولة

 *

 * @ بارام jobTrigger

 * الزناد

 * @ العودة

 * /

 Bean (اسم = "جدولة")

 الجمهور SchedulerFactoryBean schedulerFactory (الزناد jobTrigger) {

 SchedulerFactoryBeanfactoryBean = SchedulerFactoryBean جديد ()؛

 العمل // لمجموعة الكوارتز، وهناك بدأت QuartzScheduler التحديث

 factoryBean.setOverwriteExistingJobs (صحيح)؛

 // تأخير بداية، بعد 1S تطبيق بدء التشغيل

 factoryBean.setStartupDelay (1)؛

 // تسجيل الزناد

 factoryBean.setTriggers (jobTrigger)؛

 العودة factoryBean.

 }

 / **

 *

 * سجلت الوجه بالتخبط

 *

 * @ بارام reptilianJob

 * العمل

 *

 * @ العودة

 *

 * /

 Bean (اسم = "jobTrigger")

 الجمهور CronTriggerFactory BeancronJobTrigger (JobDetail jobDetail) {

 CronTriggerFactoryBean تيجر = newCronTriggerFactoryBean ()؛

 tigger.setJobDetail (jobDetail)؛

 // التعبير كرون، قام مرة واحدة كل دقيقة 1

 tigger.setCronExpression ( "0/20 ** * *؟")؛

 tigger.setName ( "jobTrigger")؛

 العودة تيجر.

 }

 / **

 * مهام التكوين

 *

 * @ بارام quartzTask

 * QuartzTask الحاجة لأداء المهام

 * @ العودة

 * /

 Bean (اسم = "jobDetail")

 الجمهور MethodInvokingJobDetailFactory BeandetailFactoryBean (ScheduledJobOne quartzTask) {

 MethodInvokingJobDetailFactoryBeanjobDetail = MethodInvokingJobDetailFactoryBean جديدة ()؛

 // ما إذا كان التنفيذ المتزامن

 jobDetail.setConcurrent (كاذبة)؛

 // تعيين اسم المهمة

 jobDetail.setName ( "jobDetail")؛

 // تعيين فريق العمل، وتستخدم عند تعدد المهام

 jobDetail.setGroup ( "jobDetailGroup")؛

 // تعترض تنفيذه

 jobDetail.setTargetObject (quartzTask)؛

 / *

 * TODO الحاجة إلى إجراء سيلة هامة جدا لتنفيذ الطبقة QuartzTask

 * /

 jobDetail.setTargetMethod ( "تنفيذ")؛

 العودة jobDetail.

 }

}

وضع المهام مصدر المرجعي

5، الموافق البنية الطبقية وصفه

6، تبدأ الطبقة ScheduledApplication، توقيت والتحقق مما إذا كانت بداية مهمة

تكوين ملاحظات (1) فئة ملاحظات QuartzScheduled

الطبقة بداية ScheduledApplication عرض السجل:

(2) ملاحظات الإصدار تكوين QuartzScheduled تكوين الطبقة QuartzScheduled الطبقة والتعليقات المشروح

الطبقة بداية ScheduledApplication عرض السجل:

لا ننسى توجيه المواد ~

لديك رسائل يو هوا الفرصة للحصول على كتاب التوقيع! يوم الكتاب العالمي تشوهاى أي واحد كنت مثل معظم لحضور؟

الرجال شهرين لتغيير طفلك أدى إلى كسر في الساعة 20

تسليط الضوء على "طول الطريق" روح جولة النبيذ التشيلي عن الجمعية الصينية المنظمة انه "على غرار التشيلي" المشروع رسميا في بكين

GaoYuanYuan تعرض الحوامل بطن الصورة، تشاو ساعد بعناية زوجها

وكانت ناننينغ دائرة امرأة من الأصدقاء "صن لايف" لصوص اجتذبت بالفعل، تمكن من الفرار بعد تسليم 100،000 يوان

الربيع الغيمة سلسلة الإصدار 2.x springboot متكاملة ActiveMQ

البالغة من العمر 21 عاما ويبلغ من العمر 50 عاما الشعبية الزواج الأثرياء، أشهر ونصف أرملة بعد الزواج، والآن 50 عاما ويعيش في مثل هذه الطريقة

فتاة تبلغ من العمر 1 تناول المبيدات السامة الآباء تعرق بارد

كبير مسار نظم البيانات التعلم (مع مجموعة كاملة من الدروس البيانات الكبيرة وPDF الكتاب الإلكتروني)

كما حصل لحسن الحظ، القهوة السويسرية إلى أن يتم سرد ستاربكس اثنين من المساهمين 800 مليون دولار!

ردود التكنولوجيا الله | حالة LiuJiangDong يضيف الجديد "البطيخ" مستخدم: غني صبي المنزل، وإيلاء الاهتمام لحماية أنفسهم

المادة للكشف عن الهدف خوارزمية YOLO V1 إلى YOLO V3