Quartz

ภาพหน้าจอของซอฟแวร์:
Quartz
รายละเอียดซอฟแวร์:
รุ่น: 2.0
วันที่อัพโหลด: 12 May 15
ผู้พัฒนา: Terracotta, Inc.
การอนุญาต: ฟรี
ความนิยม: 0

Rating: 1.0/5 (Total Votes: 1)

ควอตซ์เป็นโอเพนซอร์สและฟรีเต็มรูปแบบบริการการจัดตารางงานที่สามารถบูรณาการกับหรือใช้พร้อมแทบทุกด้าน Java EE หรือ Java SE สมัคร - จากโปรแกรมแบบสแตนด์อะโลนที่เล็กที่สุดไปยังระบบ E-commerce ที่ใหญ่ที่สุด .
ควอตซ์สามารถใช้ในการสร้างตารางง่ายหรือซับซ้อนสำหรับการดำเนินการหลายสิบหลายร้อยหรือแม้กระทั่งนับจากนับพันงาน; งานมีงานที่จะถูกกำหนดเป็นชิ้นส่วนมาตรฐาน Java ที่อาจดำเนินการอะไรจริงคุณอาจตั้งโปรแกรมให้พวกเขาทำ จัดตารางเวลาควอตซ์มีคุณสมบัติระดับองค์กรเป็นจำนวนมากเช่นการทำธุรกรรมและการจัดกลุ่ม JTA.

คุณสมบัติ


  • Runtime สภาพแวดล้อม:
  • ควอตซ์สามารถทำงานที่ฝังตัวอยู่ในโปรแกรมประยุกต์ยืนฟรีอีก
  • ควอตซ์สามารถ instantiated ภายในแอพพลิเคชันเซิร์ฟเวอร์ (หรือภาชนะ servlet) และมีส่วนร่วมในการทำธุรกรรม XA
  • ควอตซ์สามารถเรียกใช้เป็นโปรแกรมแบบสแตนด์อะโลน (ภายในเครื่องเสมือนของตัวเอง Java) เพื่อนำมาใช้ผ่าน RMI
  • ควอตซ์สามารถ instantiated เป็นกลุ่มของโปรแกรมแบบสแตนด์อะโลน (มีโหลดสมดุลและความสามารถไม่เกิน)

  • การจัดตารางการทำงาน:
  • งานมีกำหนดที่จะทำงานเมื่อได้รับ Trigger เกิดขึ้น ทริกเกอร์สามารถสร้างขึ้นด้วยเกือบการรวมกันของคำสั่งดังต่อไปนี้ ...
  • ในเวลาที่แน่นอนของวัน (เพื่อมิลลิวินาที)
  • ในบางวันของสัปดาห์
  • ในบางวันของเดือน
  • ในบางวันของปี
  • ไม่ได้ในบางวันอยู่ภายในปฏิทินจดทะเบียน (เช่นวันหยุดทำการ)
  • ซ้ำหมายเลขเฉพาะของครั้ง
  • ซ้ำจนกว่าจะถึงเวลาที่เฉพาะเจาะจง / วัน
  • ทำซ้ำไปเรื่อย ๆ
  • ซ้ำกับช่วงเวลาที่ล่าช้า

มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:

  • โครงร่างของการเปลี่ยนแปลงที่สำคัญที่สุด API:
  • วิธี API ที่กลับมา (หรือใช้เป็นพารามิเตอร์) อาร์เรย์ตอนนี้กลับมา (หรือใช้) พิมพ์คอลเลกชัน ตัวอย่างเช่นแทนที่จะ getJobGroupNames (): String [] ตอนนี้เรามี getJobGroupNames (): รายชื่อ
  • งานและบัตรประจำตัว Trigger จะขึ้นอยู่ในขณะนี้บน JobKey และ TriggerKey คีย์รวมทั้งชื่อและกลุ่ม วิธีการที่ทำงานโดยเฉพาะอย่างยิ่งในงาน / เรียกตอนนี้ใช้เวลาคีย์เป็นพารามิเตอร์ ตัวอย่างเช่น getTrigger (กุญแจ TriggerKey): ไกมากกว่า getTrigger (ชื่อ String กลุ่ม String):. ไก
  • Trigger คือตอนนี้อินเตอร์เฟซที่มากกว่าระดับ ในทำนองเดียวกันสำหรับ SimpleTrigger, CronTrigger ฯลฯ .
  • New DSL / สร้างที่ใช้งาน API สำหรับการก่อสร้างและทริกเกอร์:
  • วิธีการจาก TriggerUtils เกี่ยวข้องกับการก่อสร้างได้ง่ายจากวันที่ได้รับการย้ายไปอยู่ที่ระดับ DateBuilder ใหม่ที่สามารถนำมาใช้กับการนำเข้าคงที่อย่างกรณีวันที่สร้างสำหรับการเริ่มต้นทริกเกอร์และสิ้นสุด ฯลฯ .
  • StatefulJob อินเตอร์เฟซได้รับการคัดค้านในความโปรดปรานของคำอธิบายประกอบระดับระดับใหม่สำหรับการเรียนการทำงาน (ใช้คำอธิบายประกอบทั้งผลิตเทียบเท่ากับที่ของอินเตอร์เฟซ StatefulJob เก่า):
  • ersistJobDataAfterExecution - สั่งการจัดตารางเวลาที่จะกลับมาจัดเก็บเนื้อหา JobDataMap ของงานหลังจากการดำเนินการเสร็จสมบูรณ์
  • .
  • isallowConcurrentExecution - สั่งการจัดตารางเวลาเพื่อป้องกันกรณีอื่น ๆ ของงานเดียวกัน (โดย JobKey) จากการดำเนินการเมื่อหนึ่งอยู่แล้ว
  • .
  • บันทึกย่อใหม่: @ExecuteInJTATransaction เพิ่มคำอธิบายประกอบระดับนี้เพื่อสั่งงานควอตซ์ที่จะเริ่มต้นการทำธุรกรรม JTA ก่อนที่จะดำเนินงาน (และกระทำ / ย้อนกลับหลังจากเสร็จสิ้น / ข้อยกเว้น) การกำหนดค่าทรัพย์สิน wrapJobExecutionInUserTransaction จาก 1.x รุ่นยังคงมีอยู่ แต่คำอธิบายประกอบใหม่ช่วยให้คุณสามารถปรับแต่งพฤติกรรมต่องานในขณะที่การตั้งค่าสถานที่ให้มีผลกระทบต่องานทั้งหมด.
  • การเปลี่ยนแปลงที่สำคัญในการใช้งานของ JobListener และ TriggerListener:
  • การกำจัดของความแตกต่างระหว่าง "ทั่วโลก" และ "ที่ไม่ใช่ระดับโลก" ฟัง
  • JobDetails และทริกเกอร์มีการกำหนดค่าไม่ได้อยู่กับรายชื่อของผู้ฟังที่จะแจ้งให้แทนฟังระบุว่างาน / ทริกเกอร์พวกเขาสนใจ.
  • ฟังที่ได้รับมอบหมายในขณะนี้ชุดของกรณี Matcher -. ที่ให้กฎการจับคู่สำหรับงาน / ทริกเกอร์ที่พวกเขาต้องการที่จะได้รับสำหรับเหตุการณ์ที่เกิดขึ้น
  • ฟังได้รับการจัดการในขณะนี้ผ่าน API ListenerManager มากกว่าโดยตรงกับตารางเวลา API.
  • ระดับ SchedulerException และลำดับชั้นได้รับการทำความสะอาดขึ้น.
  • DateIntervalTrigger ถูกเปลี่ยนชื่อเป็น CalendarIntervalTrigger (หรือมากกว่าตรงชั้นที่เป็นรูปธรรมคือตอนนี้ CalendarIntervalTriggerImpl).
  • ความคิด (ทรัพย์สิน) ของ "ความผันผวน" ของงานและทริกเกอร์ได้รับการกำจัด.
  • MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY การเรียนการสอนทริกเกอร์ติดใหม่ช่วยให้ทริกเกอร์กำหนดค่าในลักษณะที่ว่ามันจะถูกละเว้นการคัดเลือกจากการจัดการติดทั้งหมด ในคำอื่น ๆ มันจะยิงโดยเร็วที่สุดเท่าที่จะสามารถที่ไม่มีการจัดการพิเศษ - ตัวเลือกที่ดีสำหรับการปรับปรุงประสิทธิภาพโดยเฉพาะอย่างยิ่งกับการตั้งค่าที่มีจำนวนมากหนึ่งยิง (ไม่ซ้ำ) ทริกเกอร์
  • .
  • ไก compareTo () ของวิธีการในขณะนี้ได้อย่างถูกต้องที่เกี่ยวข้องกับมันเท่ากับ () วิธีการในการที่จะเปรียบเทียบที่สำคัญของทริกเกอร์มากกว่าเวลาที่ไฟไหม้ต่อไป เปรียบเทียบใหม่ที่เรียกเรียงลำดับตามเวลาที่เกิดไฟไหม้มีความสำคัญและที่สำคัญได้รับการเพิ่มเป็น Trigger.TriggerTimeComparator.
  • คุณสมบัติใหม่:
  • Scheduler.clear () วิธีการให้บริการที่สะดวก (และอันตราย!) วิธีที่จะเอางานทั้งหมด, ทริกเกอร์และปฏิทินจากกำหนดการ.
  • Scheduler.scheduleJobs (แผนที่ triggersAndJobs, บูลแทนที่) วิธีการให้บริการที่สะดวกสบายนอกจากนี้กลุ่มของงานและเรียก.
  • Scheduler.unscheduleJobs (รายชื่อ triggerKeys) วิธีการให้กลุ่มที่สะดวก unscheduling ของงาน.
  • Scheduler.deleteJobs (รายชื่อ jobKeys) วิธีการลบจำนวนมากให้ความสะดวกสบายของงาน (และทริกเกอร์ที่เกี่ยวข้อง).
  • Scheduler.checkExists (JobKey jobKey) และ Scheduler.heckExists (TriggerKey triggerKey) วิธีการมีวิธีที่สะดวกในการตรวจสอบเอกลักษณ์ของงาน / คีย์ทริกเกอร์ (เมื่อเทียบกับเก่ามีการมีการดึงงาน / ทริกเกอร์โดยใช้ชื่อและจากนั้นตรวจสอบว่า ผลที่ได้ null).
  • JDBCJobStore ขณะนี้ช่วยให้หนึ่งชุดของตารางที่จะใช้โดยหลายกรณีการจัดตารางเวลาที่แตกต่างกัน
  • JDBCJobStore อยู่ในขณะนี้มีความสามารถในการจัดเก็บการใช้งานทริกเกอร์ที่ไม่ใช่ธุรกิจหลักโดยไม่ต้องใช้คอลัมน์หยดผ่านการใช้อินเตอร์เฟซ TriggerPersistenceDelegate ใหม่ซึ่งสามารถ (ขยะ) จะดำเนินการโดยการพัฒนาระบบประเภททริกเกอร์ที่กำหนดเอง.
  • JDBCJobStore ขณะนี้รวมถึง SybaseDelegate เข้ากันได้ดีขึ้นด้วย Sybase
  • การแสดงออก Cron ขณะนี้สนับสนุนความสามารถในการระบุชดเชยสำหรับ "วันสุดท้ายของเดือน" และ "วันสุดท้ายของเดือน" การแสดงออก สำหรับตัวอย่าง:. "L-3" (สามวันกลับมาจากที่ผ่านมาของเดือน) หรือ "L-3W" (วันที่ใกล้ที่สุดเพื่อวันสามวันกลับมาจากวันสุดท้ายของเดือน)
  • ไฟล์ XML ที่มีข้อมูลการตั้งเวลาในขณะนี้มีวิธีการระบุเวลาเริ่มต้นทริกเกอร์เป็นชดเชยในอนาคตจากเวลาที่ไฟล์จะถูกประมวลผล (ที่มีประโยชน์สำหรับทริกเกอร์ที่ต้องการที่จะเริ่มต้นการยิงบางครั้งหลังจากที่โปรแกรมจะเริ่มต้น / ใช้งาน).
  • จากคี:
  • คีไฟล์ XML ในขณะนี้สนับสนุนการระบุคุณสมบัติ 'จัดลำดับความสำคัญของทริกเกอร์.
  • QuartzInitializerListener (และ QuartzInitializerServlet) สนับสนุนพารามิเตอร์ใหม่ "รอ-on-ปิด" ซึ่งจะทำให้เกิดการจัดตารางเวลาที่จะรอให้การดำเนินงานให้เสร็จสมบูรณ์ก่อนที่จะปิดลงเมื่อภาชนะ Servlet เป็นปฏิปักษ์ต่อการปรับใช้แอพลิเคชัน.
  • เพิ่ม DirectoryScanJob งานหลักของเรือลำนั้นด้วยควอตซ์ยังเพิ่มพารามิเตอร์อายุขั้นต่ำที่จะ FileScanJob ที่มีอยู่ก่อน.
  • เพิ่มความสามารถที่จะเพิ่มเข้ามาใน ServletContext SchedulerContext เมื่อใช้ QuartzInitializerListener หรือ QuartzInitializerServlet ในการเริ่มต้นควอตซ์ภายในโปรแกรมเว็บ Java EE.
  • เบ็ดเตล็ด:
  • การปรับปรุงประสิทธิภาพต่างๆรวมถึง (แต่ไม่ จำกัด เฉพาะ):
  • ความสามารถในการเรียกซื้อชุดที่มีความพร้อมที่จะถูกไล่ออกซึ่งสามารถให้การปรับปรุงประสิทธิภาพการทำงานสำหรับ schedulers ยุ่งมาก <​​/ li>
  • วิธีการสำหรับการเพิ่มชุด / กำจัดของงานและทริกเกอร์ (ดู "คุณสมบัติใหม่")
  • ทริกเกอร์มีติดใหม่ตัวเลือกการเรียนการสอน MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY ซึ่งอาจจะเป็นประโยชน์ถ้าคุณไม่จำเป็นต้องติดการจัดการสำหรับทริกเกอร์ของคุณ (s), และต้องการที่จะใช้ประโยชน์จากการได้รับประสิทธิภาพ
  • การแก้ไขข้อบกพร่องต่าง ๆ สำหรับรายการที่สมบูรณ์ดูหมายเหตุปล่อยจากจิระ: https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=10842
  • DBCP ไม่ได้ใช้ร่วมกันในการเชื่อมต่อฐานข้อมูล C3PO ใช้แทน.
  • การใช้งาน JobFactory จะเริ่มต้นตอนนี้มี (ผ่าน) จัดการตารางเวลา.
  • ตัวอย่างทั้งหมดบรรจุในตัวอย่าง? ไดเรกทอรีของการกระจายควอตซ์ได้รับการปรับปรุงเพื่อให้การใช้ (แสดง) ใหม่ API สำหรับการกำหนดงานและเรียก.

มีอะไรใหม่ ในรุ่น 1.6.6:

  • ไม่กี่แก้ไขข้อผิดพลาดที่สำคัญ
  • การปรับปรุงเล็กน้อยคู่

ต้องการ

  • Java 2 Standard Edition Runtime Environment

ความคิดเห็นที่ Quartz

ความคิดเห็นที่ไม่พบ
เพิ่มความคิดเห็น
เปิดภาพ!