Quartz

Screenshot Software:
Quartz
Mga detalye ng Software:
Bersyon: 2.0
I-upload ang petsa: 12 May 15
Nag-develop: Terracotta, Inc.
Lisensya: Libre
Katanyagan: 0

Rating: 1.0/5 (Total Votes: 1)

Kuwarts ay isang open source at libre, buong-tampok na trabaho serbisyo scheduling na maaaring nakapaloob sa, o ginamit sa tabi ng kahit anong Java ee o Java SE application - mula sa pinakamaliit na stand-alone na application upang ang pinakamalaking sistema ng e-commerce .
Quartz ay maaaring gamitin upang lumikha ng mga simpleng o kumplikadong mga iskedyul para sa Isinasagawa ang mga sampu-sampung, daan-daan, o kahit sampu-sampung-ng-libo ng mga trabaho; trabaho na ang mga gawain ay tinukoy bilang standard na mga sangkap Java na maaaring pinaandar halos Maaari mong programa ang mga ito upang gawin. Ang Quartz Scheduler ay nagsasama ng maraming mga tampok na enterprise-class, tulad ng JTA transaksyon at clustering.

Features :


  • Runtime kapaligiran:
  • Kuwarts maaaring tumakbo-embed sa loob ng isa pang libreng nakatayo application
  • Kuwarts maaaring instantiated sa loob ng isang server application (o servlet lalagyan), at makisali sa XA transaksyon
  • Kuwarts ay maaaring tumakbo bilang isang programa stand-alone (sa loob ng kanyang sariling Java Virtual Machine), na gagamitin sa pamamagitan ng RMI
  • Kuwarts maaaring instantiated bilang isang kumpol ng stand-alone na programa (na may load-balance at mabibigo-over kakayahan)

  • Job Scheduling:
  • Trabaho ay naka-iskedyul na tumakbo kapag nangyayari ang isang naibigay Trigger. Triggers maaaring nilikha sa halos anumang kumbinasyon ng mga sumusunod na direktiba ...
  • sa isang tiyak na oras ng araw (sa millisecond)
  • sa mga tiyak na araw ng linggo
  • sa mga tiyak na araw ng buwan
  • sa mga tiyak na araw ng taon
  • at hindi sa mga tiyak na araw na nakalista sa loob ng isang rehistradong Calendar (tulad ng pista opisyal na negosyo)
  • paulit-ulit sa isang tiyak na bilang ng beses na
  • paulit-ulit hanggang sa isang tiyak na oras / petsa
  • paulit-ulit na walang katiyakan
  • paulit-ulit na may isang agwat ng delay

Ano ang bago sa release na ito:

  • Balangkas ng karamihan sa mga pagbabago makabuluhang API:
  • pamamaraan API na babalik (o kumuha ng mga parameter) babalik ngayon arrays (o kumuha) type koleksyon. Halimbawa, sa halip na getJobGroupNames (): String [] kami ngayon getJobGroupNames (): List
  • Job at Trigger identification ngayon ay nakabase sa JobKey at TriggerKey. Keys isama ang parehong pangalan at group. Paraan na gumana sa partikular na mga trabaho / trigger ngayon kumuha key bilang parameter. Halimbawa, getTrigger (TriggerKey key): Trigger, sa halip na getTrigger (String pangalan, String group).: Trigger
  • Trigger ngayon ay isang interface, sa halip na isang klase. Gayon din naman para SimpleTrigger, CronTrigger, etc.
  • New DSL API / builder-based para sa Trabaho sa konstruksiyon at nag-trigger:
  • Paraan mula TriggerUtils kaugnayan sa madaling konstruksiyon ng mga petsa ay inilipat sa bagong DateBuilder class, na maaaring magamit sa mga static na-import sa mabuti lumikha ng mga pagkakataon ng Petsa para sa huling beses trigger simula at, etc.
  • Ang StatefulJob interface ay pinapagamit sa pabor ng bagong anotasyon class-level para sa mga klase Job (gamit ang parehong mga annotation gumagawa katumbas na ng lumang interface StatefulJob):
  • ersistJobDataAfterExecution - instructs ang scheduler upang muling-imbak nilalaman JobDataMap sa Job matapos makumpleto ng pagpapatupad
  • .
  • isallowConcurrentExecution - instructs ang scheduler upang harangan ang iba pang mga pagkakataon ng parehong trabaho (sa pamamagitan JobKey) mula Isinasagawa kapag ang isa ay mayroon na
  • .
  • New annotation:ExecuteInJTATransaction. Pagdaragdag ng Mga annotation sa isang klase Job nagtuturo Quartz upang simulan ang isang JTA transaksyon bago Isinasagawa ang trabaho (at gumawa / rollback matapos ang pagkumpleto / exception). Ang pagsasaayos ng ari-arian 'wrapJobExecutionInUserTransaction' mula sa bersyon 1.x umiiral pa rin, ngunit nagbibigay-daan sa iyo ang bagong annotation ibagay ang pag-uugali sa bawat trabaho, habang ang mga ari-arian ng config nakakaapekto sa lahat ng mga trabaho.
  • Makabuluhang pagbabago sa paggamit ng JobListener at TriggerListener:
  • Pag-aalis ng pagkakaiba sa pagitan ng "global" at "di-global" tagapakinig
  • JobDetails at Triggers ay hindi na isinaayos na may isang listahan ng mga pangalan ng mga tagapakinig upang abisuhan, sa halip tagapakinig na makilala kung aling mga trabaho / pinalitaw sila ay interesado sa.
  • Mga tagapakinig ay itinalaga ngayon ng isang set ng mga pagkakataon Matcher -. Na nagbibigay ng pagtutugma alituntunin para sa mga trabaho / pinalitaw nais nilang makatanggap ng mga kaganapan para sa
  • Mga tagapakinig ay ngayon pinamamahalaang sa pamamagitan ng isang ListenerManager API, sa halip na direkta sa Scheduler API.
  • Ang SchedulerException uri at klase hierarchy ay malinis up.
  • DateIntervalTrigger ay pinalitan sa CalendarIntervalTrigger (o mas eksakto ang kongkreto klase ay ngayon CalendarIntervalTriggerImpl).
  • Ang paniwala (ari-arian) ng "pagkasumpungin" ng mga trabaho at mga trigger ay eliminated.
  • Bagong pagtuturo trigger kawalan ng paputok MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY hinahayaan ng isang trigger na isinaayos sa paraan na ito ay selectively pinansin mula sa lahat ng kawalan ng paputok paghawak. Sa ibang salita, ito ay sunog sa lalong madaling panahon na ito, na walang mga espesyal na paghawak - isang mahusay na pagpipilian para sa pagpapabuti ng pagganap lalo na sa setup na magkaroon ng maraming mga one-shot (non-paulit-ulit) ang nag-trigger
  • .
  • Trigger ni compareTo () method tama kaugnayan ngayon upang equals nito () method, sa na ito pinagkukumpara ang pindutan ng trigger, sa halip na sa susunod na pagkakataon na sunog. Isang bagong Comparator na masama trigger ayon sa oras ng sunog, priority at key ay idinagdag bilang Trigger.TriggerTimeComparator.
  • Bagong Tampok:
  • Scheduler.clear () method ay nagbibigay ng maginhawang (at mapanganib!) Na paraan upang alisin ang lahat ng mga trabaho, nag-trigger at mga kalendaryo mula sa scheduler.
  • Scheduler.scheduleJobs (Mapa triggersAndJobs, boolean palitan) method ay nagbibigay ng maginhawang bulk karagdagan ng mga trabaho at mga trigger.
  • Scheduler.unscheduleJobs (List triggerKeys) method ay nagbibigay ng maginhawang bulk unscheduling ng mga trabaho.
  • Scheduler.deleteJobs (List jobKeys) method ay nagbibigay ng maginhawang bulk pagbura ng trabaho (at mga kaugnay na mga trigger).
  • Scheduler.checkExists (JobKey jobKey) at Scheduler.heckExists (TriggerKey triggerKey) pamamaraan ay nagbibigay ng maginhawang paraan upang matukoy uniqueness ng trabaho / trigger keys (kumpara sa old mayroon ng pagkakaroon upang kunin ang trabaho / trigger sa pamamagitan ng pangalan at pagkatapos ay tingnan kung ang ang resulta ay null).
  • Pinahihintulutan ng JDBCJobStore ngayon ng isang set ng mga talahanayan upang magamit sa pamamagitan ng maraming mga pagkakataon natatanging scheduler
  • JDBCJobStore ay kaya ng pagtatago non-core na pagpapatupad Trigger nang hindi gumagamit ng mga haligi patak, sa pamamagitan ng paggamit ng mga bagong TriggerPersistenceDelegate interface, kung saan maaari (optionally) ay ipinatupad sa pamamagitan implementers ng mga uri ng mga pasadyang Trigger ngayon.
  • JDBCJobStore Kasama na ngayon sa isang SybaseDelegate para sa pinabuting compatibility sa Sybase
  • cron expression ngayon ng suporta ang kakayahan upang tukuyin ang isang offset para sa "huling araw ng buwan" at "huling araw na simple ng buwan" expression. Para sa mga halimbawa. "L-3" (tatlong araw bumalik mula sa huling araw ng buwan) o "L-3W" (pinakamalapit weekday sa araw ng tatlong araw mula sa likod ng huling araw ng buwan)
  • XML file na naglalaman ng data scheduling ngayon ay may isang paraan upang tukuyin simulan trigger beses ng offsets sa hinaharap mula sa oras na ang mga file ay na-proseso (kapaki-pakinabang para sa mga nag-trigger na kailangan upang simulan pagpapaputok ilang oras matapos ang application ay inilunsad / deployed).
  • Mula sa schema:
  • XML file ng panukala ngayon ay sumusuporta na tumutukoy sa 'priority' ari-arian ng mga trigger.
  • QuartzInitializerListener (at QuartzInitializerServlet) ay sumusuporta sa bagong parameter "maghintay-sa-shutdown", na magiging sanhi ng mga Scheduler upang maghintay para sa Isinasagawa ang mga trabaho upang makumpleto bago shut down, kapag ang Servlet lalagyan ay di-paganahin ang application.
  • Idinagdag DirectoryScanJob sa core ng trabaho na barko na may kuwarts, nagdagdag din minimum parameter edad sa pre-umiiral na FileScanJob.
  • Idinagdag kakayahan upang magdagdag ng mga ServletContext sa SchedulerContext kapag gumagamit QuartzInitializerListener o QuartzInitializerServlet upang magpasimula Quartz loob ng isang Java ee web application.
  • Miscellaneous:
  • Iba't-ibang mga pagpapabuti ng pagganap, kabilang ang (ngunit hindi limitado sa):
  • Kakayahang batch-kumuha ng mga trigger na handa na upang maging fired, na kung saan ay maaaring magbigay ng mga pagpapabuti ng pagganap para sa napaka busy schedulers
  • Mga paraan para sa batch karagdagan / pagtanggal ng mga trabaho at mga trigger (tingnan ang "Bagong Tampok")
  • Triggers magkaroon ng isang bagong opsyon na pagtuturo kawalan ng paputok, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, na maaaring maging kapaki-pakinabang kung ikaw ay hindi nangangailangan kawalan ng paputok para sa paghawak ng iyong (mga) trigger, at gusto mong samantalahin ang isang makakuha ng pagganap
  • Iba't-ibang mga pag-aayos ng bug, para sa kumpletong listahan makita ang mga tala ng release mula Jira: https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=10842
  • DBCP ay hindi na ginagamit para sa pooling koneksyon sa database, C3PO ay ginamit sa halip.
  • JobFactory pagpapatupad ay initialize ngayon sa (lumipas) ng isang hawakan sa Scheduler.
  • Lahat ng halimbawa nakabalot sa? Mga halimbawa? directory ng Quartz pamamahagi ay na-update upang gumawa ng paggamit ng (ipakita) ang bagong API para sa pagtukoy ng mga trabaho at mga trigger.

Ano ang bago sa bersyon 1.6.6:

  • ilang mahalagang bug pagsasaayos
  • ng ilang mga menor de edad na pagpapabuti

Kinakailangan :

  • Java 2 Standard Edition Runtime Environment

Mga komento sa Quartz

Mga Komento hindi natagpuan
Magdagdag ng komento
I-sa mga imahe!