Quartz

Software kuvakaappaus:
Quartz
Ohjelmiston tiedot:
Versio: 2.0
Lähetyksen päivämäärä: 12 May 15
Kehittäjä: Terracotta, Inc.
Lupa: Vapaa
Suosio: 0

Rating: 1.0/5 (Total Votes: 1)

kvartsi on avoimen lähdekoodin ja ilmainen, monipuolinen työ aikataulutus, jota voidaan integroida tai käyttää rinnalla lähes kaikki Java EE tai Java SE sovelluksen - pienimmästä stand-alone sovellus suurin sähköisen kaupan järjestelmä .
Kvartsia voidaan käyttää luomaan yksinkertaisia ​​tai monimutkaisia ​​aikataulujen toteuttamisesta kymmeniä, satoja tai jopa kymmeniä-of-tuhansien työpaikkojen; työt, joiden tehtävät on määritelty vakiona Java komponentteja, jotka voivat suorittaa lähes mitä voit ohjelmoida ne tekemään. Kvartsi Scheduler sisältää monia yritystason ominaisuuksia, kuten JTA liiketoimia ja ryhmittely.

Ominaisuudet


  • Runtime Environments:
  • kvartsi voi ajaa upotettu toiseen vapaasti seisova sovellus
  • Quartz voidaan instantiated sisällä sovelluspalvelin (tai servlettisäiliö), ja osallistua XA liiketoimiin
  • Quartz voidaan ajaa itsenäinen ohjelma (omalla Java Virtual Machine), jota käytetään kautta RMI
  • Quartz voidaan instantiated kuin klusterin stand-alone ohjelmia (kuorman tasapainoa ja fail-over-ominaisuudet)

  • Job Ajoitus:
  • Jobs on ajoitettu, kun tietyn Trigger tapahtuu. Laukaisee voidaan luoda lähes minkä tahansa yhdistelmän seuraavista direktiiveistä ...
  • tiettyyn aikaan päivästä (millisekunnin)
  • tiettyinä päivinä viikossa
  • tiettyinä päivinä kuukaudessa
  • tiettyinä päivinä vuodessa
  • ei tiettyinä päivinä listattu rekisteröity Kalenteri (kuten business lomia)
  • toistetaan tietty määrä kertoja
  • toistetaan, kunnes aika / päiväys
  • toistaa loputtomiin
  • toistettava viiveaikavälin

Mikä on uusi tässä julkaisussa:

  • Yhteenveto merkittävimmistä API muutokset:
  • API menetelmiä, jotka palaavat (tai ottaa niin parametrit) paneelit nyt palauttaa (tai tehdä) kirjoitetaan kokoelmiin. Esimerkiksi sen sijaan, että getJobGroupNames (): String [] meillä on nyt getJobGroupNames (): List
  • Työ ja Trigger tunnistus perustuu nyt JobKey ja TriggerKey. Näppäimet ovat sekä nimi ja ryhmä. Menetelmiä, jotka toimivat erityisesti työpaikkoihin / laukaisee nyt ottaa avaimet parametri. Esimerkiksi getTrigger (TriggerKey näppäin): Trigger sijaan getTrigger (String nimi, String ryhmä): Trigger.
  • Trigger on nyt käyttöliittymä, eikä luokan. Samoin for SimpleTrigger, CronTrigger, jne.
  • Uusi DSL / rakentaja-pohjainen API rakentamiseen työpaikkoja ja käynnistimet:
  • Menetelmät välillä TriggerUtils liittyvät helposti rakentamiseen Päivämäärät on siirretty uusiin DateBuilder luokkaan, joita voidaan käyttää staattisen tuonnista kauniisti luoda Date tapauksissa laukaista alkamis- ja päättymisaika, jne.
  • StatefulJob käyttöliittymä on vanhentunut hyväksi uuden luokan-tason annotointeja Job luokat (käyttämällä sekä merkintöjä tuottaa yhtä paljon kuin vanhat StatefulJob interface):
  • ersistJobDataAfterExecution - kehottaa Scheduler uudelleen tallentaa Jobin JobDataMap sisällöstä täytäntöönpanon jälkeen valmis.
  • isallowConcurrentExecution - ohjaa ajastin estää muita esiintymiä samaa työtä (by JobKey) toteuttamasta kun yksi jo on.
  • Uusi merkintä:ExecuteInJTATransaction. Lisäämällä tämä huomautusta Job luokan neuvoo kvartsi aloittaa JTA liiketoimi ennen kuin se täyttää työn (ja sitoutua / rollback päätyttyä / poikkeus). Konfiguraatio omaisuus "wrapJobExecutionInUserTransaction" versiosta 1.x edelleen olemassa, mutta uusi merkintä voit virittää käyttäytyminen työpaikkaa kohti, kun config kiinteistö vaikuttaa kaikkiin työpaikkoihin.
  • Merkittävät muutokset käyttöä JobListener ja TriggerListener:
  • Poistaminen ero "globaali" ja "ei-globaali" kuuntelijat
  • JobDetails ja käynnistimet enää konfiguroitu nimilista kuulijoita ilmoittaa, vaan kuuntelijoita mitkä työt / laukaisee he ovat kiinnostuneita.
  • Kuuntelijat ovat nyt annetaan joukko Matcher tapauksista - jotka tarjoavat vastaavia sääntöjä työpaikkoja / laukaisee he haluavat vastaanottaa tapahtumia.
  • Kuuntelijat ovat nyt hallitaan ListenerManager API, mieluummin kuin suoraan Scheduler API.
  • SchedulerException luokka ja luokka hierarkia on siivottu.
  • DateIntervalTrigger nimekseen CalendarIntervalTrigger (tai tarkemmin betonin luokan on nyt CalendarIntervalTriggerImpl).
  • käsite (omaisuus) ja "volatiliteetti" työpaikkoja ja laukaisee on poistettu.
  • Uusi laukaista sytytyskatkolla opetusta MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY avulla laukaista konfiguroida siten, että se on valikoivasti ohitetaan kaikilta sytytyskatkot käsittelystä. Toisin sanoen, se välähtää heti mahdollista, ilman erityistä käsittelyä - erinomainen vaihtoehto parantaa suorituskykyä erityisesti asetelmia että on paljon yhden-shot (non-toistuva) laukaisee.
  • Trigger n compareTo () menetelmä nyt oikein liittyy sen tasavertaisina () menetelmä, koska se vertaa laukaista keskeiset sijaan ensi tulipalo kerran. Uuden Comparator joka lajittelee laukaisee mukaan palon aikaa, prioriteetti ja keskeiset lisättiin Trigger.TriggerTimeComparator.
  • Uudet ominaisuudet:
  • Scheduler.clear () menetelmä tarjoaa kätevän (ja vaarallinen!) Tapa poistaa kaikki työt, laukaisee ja kalentereita ajastimella.
  • Scheduler.scheduleJobs (Map triggersAndJobs, boolean vaihda) menetelmä tarjoaa kätevän suurimman lisäämällä työpaikkoja ja aiheuttajia.
  • Scheduler.unscheduleJobs (Lista triggerKeys) menetelmä tarjoaa kätevän suurimman unscheduling työpaikoista.
  • Scheduler.deleteJobs (Lista jobKeys) menetelmä tarjoaa kätevän suurimman poistamisesta työpaikkoja (ja siihen liittyvät laukaisee).
  • Scheduler.checkExists (JobKey jobKey) ja Scheduler.heckExists (TriggerKey triggerKey) menetelmät tarjoaa kätevän tavan määrittää ainutlaatuisuus työpaikka / liipaisimen avaimet (toisin kuin vanhat on ottaa hakea työtä / liipaisimen nimen perusteella ja tarkistaa, onko tulos oli nolla).
  • JDBCJobStore sallii nyt yhdet taulukoita voidaan käyttää useita erillisiä ajastimella tapauksia
  • JDBCJobStore pystyy nyt tallentamaan ydinliiketoimintaan kuulumattomien Trigger toteutuksia ilman BLOB pylväät, käyttämällä uutta TriggerPersistenceDelegate käyttöliittymä, joka voi (vaihtoehtoisesti) toteutetaan toteuttajien mukautettuja Trigger tyyppejä.
  • JDBCJobStore sisältää nyt SybaseDelegate varten parannettu yhteensopivuus Sybase
  • Cron ilmaisuja tukevat nyt mahdollisuuden määritellä offset "viimeisen kuukauden" ja "viimeinen arkipäivä kuussa" ilmaisuja. Esimerkkejä: "L-3" (kolme päivä takaisin viimeisestä kuukauden) tai "L-3W" (lähinnä arkipäivä vuorokauden pituisen päivän ajan viimeisestä päivä).
  • XML-tiedostot sisältävät ajastusdataa nyt tapa määrittää laukaista aloittaa kertaa vastikkeiden tulevaisuuteen siitä, kun tiedosto on käsitelty (hyödyllinen laukaisee, jotka täytyy aloittaa ampumisen jonkin aikaa sen jälkeen sovellus käynnistetään / käytössä).
  • Valitse schema:
  • XML-skeema tukee nyt täsmennetään "prioriteetti" ominaisuus aiheuttajia.
  • QuartzInitializerListener (ja QuartzInitializerServlet) tukee uusia parametri "wait-on-shutdown", mikä aiheuttaa Scheduler odottamaan suorittamiseksi töitä loppuun ennen sammuttamista, kun Servlet kontti on un-käyttöön sovellus.
  • lisätty DirectoryScanJob keskeisiin työpaikkoja, jotka aluksen kvartsi, myös lisäsi alaikäraja parametrin ennestään FileScanJob.
  • lisätty mahdollisuus lisätä ServletContext osaksi SchedulerContext käytettäessä QuartzInitializerListener tai QuartzInitializerServlet alustaa kvartsi sisällä Java EE web-sovellus.
  • Sekalaista:
  • Various suorituskyvyn parannuksia, mukaan lukien (mutta ei rajoitu):
  • Kyky erä-hankkia laukaisee, jotka ovat valmiita potkut, joka voi tarjota suorituskyvyn parannuksia hyvin kiireinen mat
  • Menetelmät erän lisäys / poisto työpaikkoja ja laukaisee (katso "Uudet ominaisuudet")
  • käynnistimet on uusi sytytyskatkojen ohjeen vaihtoehto, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, joka voi olla hyötyä, jos et tarvitse sytytyskatkolla käsittely oman laukaista (s), ja haluavat hyödyntää suorituskyvyn voitto
  • Various korjaukset, täydellinen luettelo ks julkaisutiedot alkaen Jira: https://jira.terracotta.org/jira/secure/ReleaseNote.jspa?projectId=10282&version=10842
  • DBCP ei enää käytetä tietokantayhteyden yhdistäminen, C3PO sijasta käytetään.
  • JobFactory toteutukset ovat nyt alustettu (kulunut) kahva Scheduler.
  • Kaikki esimerkit pakattu? Esimerkkejä? hakemisto Quartz jakelu on päivitetty hyödyntämään (osoittavat) uuden API määrittelyssä työpaikkoja ja aiheuttajia.

Mikä on uusi versiossa 1.6.6:

  • muutamia tärkeitä virheenkorjauksia
  • pari pieniä parannuksia

vaatimukset

  • Java 2 Standard Edition Runtime Environment

Kommentit Quartz

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!