Järjekord ja teema on kaks sõnumimudelit, mida JMS toetab: 1. Punkt-punkti (PTP) järjekorra sõnumimudel: Selle sõnumimudeliga saab üks rakendus (st sõnumi tootja) saata sõnumi teisele rakendusele (st sõnumi tarbijale). Selles edastusmudelis on sõnumi sihtkoha tüüp järjekord (st sihtliidese rakendusklassi eksemplari loob sessiooniliidese rakendusklassi eksemplar, kutsudes selle createQueue meetodi ja edastades järjekorra nime). Sõnum edastatakse esmalt kindlale järjekorrale sõnumiserveri poolel ning sealt edasi edastatakse sõnum tarbijale, kes seda järjekorda kuulab. Sama järjekord võib seostada mitut sõnumitootjat ja tarbijat, kuid sõnumit saab edastada ainult ühele sõnumitarbijale. Kui mitu sõnumitarbijat kuulavad järjekorras sõnumeid, määrab JMS sõnumiserver, milline sõnumitarbija saab järgmise sõnumi põhimõtte alusel "kes ees, see mees". Kui ükski sõnumitarbija järjekorda ei kuula, jääb sõnum järjekorda kuni sõnumitarbija järjekorraga ühendub. See sõnumimudel on traditsioonilises mõttes laisk või küsitlusmudel. Selles mudelis ei saadeta sõnumeid automaatselt sõnumitarbijale, vaid neid küsitakse järjekorrast sõnumitarbija poolt. 2. Avalda/telli (publik/sub) teemasõnumite mudel: Selle sõnumimudeli abil saavad rakendused saata ühe sõnumi mitmele sõnumitarbijale. Selles edastusmudelis on sõnumi sihtkoha tüüp teema (st sihtliidese rakendusklassi eksemplari loob sessiooniliidese rakendusklassi eksemplar, kutsudes selle createTopic meetodit ja edastades teema nime). Sõnum avaldatakse esmalt konkreetsele teemale sõnumiserveris sõnumi tootja poolt, kes seejärel edastab sõnumi kõigile tarbijatele, kes on teema tellinud. Teemaeesmärgid toetavad ka pikaajalisi tellimusi. Pikaajaline tellimus tähendab, et tarbija on seotud teema eesmärgiga, kuid tarbija võib olla passiivne, kui sõnum jõuab sihtkohta. Sõnum jõuab kohale, kui tarbija on taas aktiivne. Kui ükski tarbijatest ei ole teema sihtkohas registreeritud, jääb teema sõnumid alles ainult mitteaktiivsetele tarbijatele, kes on registreerunud pikaajalisele tellimusele. Erinevalt PTP sõnumimudelist võimaldab pub/sub sõnumimudel mitmel teematellijal sama sõnumit vastu võtta. JMS hoiab sõnumit seni, kuni kõik teema tellijad selle kätte saavad. Publi/sub sõnumimudel on põhimõtteliselt push-mudel. Selles mudelis edastatakse sõnumid automaatselt ning sõnumitarbijad ei pea aktiivselt teemasid küsima ega küsima, et uusi sõnumeid saada. Täpsed erinevused on järgmised:
liik
| Teema
| Järjekord | Ülevaade
| Avalda Telli sõnumid Avalda tellimussõnumid
| Punktist punkti punktist punkti
| Osariiki ei ole
| Teemaandmed on vaikimisi olekuta.
| Järjekorra andmed salvestatakse vaikimisi failina MQ serverisse, näiteks Active MQ salvestatakse tavaliselt $AMQ_HOME\data\kr-store\data alla. Seda saab konfigureerida ka andmebaasi salvestuseks.
| Terviklikkuse garantii
| Ei ole mingit garantiid, et iga kirjastaja avaldatud andmetükk aktsepteeritakse tellija poolt.
| Järjekord tagab, et vastuvõtja saab vastu võtta iga andmeosa.
| kas sõnum kaob
| Üldiselt, kui kirjastaja avaldab sõnumi teemale, saab sõnumi vastu võtta ainult subreddit, kes kuulab teema aadressi. Kui sub ei kuulata, kaob teema ära.
| Saatja saadab sõnumi sihtjärjekorda ning vastuvõtja saab selle järjekorra kaudu sõnumeid asünkroonselt vastu võtta. Järjekorras olevad sõnumid ei kao, kui pole vastuvõtjat, kes neid praegu vastu võtaks.
| Sõnumi avaldamise vastuvõtupoliitika
| Üks-mitmele sõnumite avaldamise ja vastuvõtmise poliitika puhul saavad mitu alamfoorumit, kes kuulavad sama teema aadressi, kirjastajalt saadetud sõnumeid. Alamfoorum saab teavituse mq serverile
| Üks-ühele sõnumite avaldamise ja vastuvõtmise poliitikad, saatja saadetud sõnumeid saab vastu võtta ainult üks vastuvõtja. Pärast vastuvõtja vastuvõttu teavitab MQ serverit, et see on vastu võetud, ning MQ server kustutab või võtab järjekorras olevate sõnumite suhtes muid toiminguid.
|
|