Queue in Topic sta dva sporočilna modela, ki ju podpira JMS: 1. Model sporočanja v vrsti od točke do točke (PTP): S tem modelom sporočanja lahko ena aplikacija (tj. proizvajalec sporočil) pošlje sporočilo drugi aplikaciji (tj. uporabniku sporočil). V tem modelu dostave je tip cilja sporočila vrsta vrste (tj. instanca razreda implementacije vmesnika Destination ustvari instance razreda implementacije vmesnika Session z klicem metode createQueue in vnosom imena vrste). Sporočilo se najprej dostavi v določeno vrsto na strani strežnika sporočil, nato pa se sporočilo dostavi potrošniku, ki posluša to vrsto. Ista vrsta lahko poveže več proizvajalcev sporočil in prejemnikov sporočil, vendar je sporočilo mogoče dostaviti le enemu uporabniku sporočila. Če več uporabnikov sporočil posluša sporočila v vrsti, strežnik sporočil JMS določi, kateri uporabnik sporočil prejme naslednje sporočilo na podlagi načela "prvi pride, prvi pride". Če uporabnik sporočil ne posluša vrste, sporočilo ostane v vrsti, dokler se uporabnik sporočila ne poveže v vrsto. Ta model sporočanja je v tradicionalnem smislu lenoben ali anketni model. V tem modelu sporočila niso samodejno potiskana potrošniku sporočil, temveč jih uporabnik zahteva iz vrste. 2. Model sporočil o temah objave/naročnine (publikacija/pod): S tem modelom sporočanja lahko aplikacije pošljejo eno sporočilo več uporabnikom sporočil. V tem modelu dostave je tip cilja sporočila tema (tj. instanca razreda implementacije vmesnika Destination ustvari instance razreda implementacije vmesnika Session z uporabo metode createTopic in posredovanjem imena teme). Sporočilo najprej objavi določeni temi na strežniku sporočil ustvarjalec sporočila, ki ga nato dostavi vsem potrošnikom, ki so se naročili na temo. Tematski cilji podpirajo tudi dolgoročne naročnine. Dolgoročna naročnina pomeni, da je potrošnik vključen v cilj teme, vendar je lahko neaktiven, ko sporočilo doseže cilj. Sporočilo bo prejeto, ko je potrošnik ponovno aktiven. Če noben od potrošnikov ni vpisan v destinacijo teme, tema ohranja sporočila le za neaktivne potrošnike, ki so se prijavili na dolgoročno naročnino. Za razliko od modela PTP sporočanja model objav/pod-sporočil omogoča, da več naročnikov teme prejme isto sporočilo. JMS sporočilo hrani, dokler ga ne prejmejo vsi naročniki teme. Model sporočil za objave/subreddite je v bistvu model potiska. V tem modelu se sporočila samodejno oddajajo, uporabniki sporočil pa ne potrebujejo aktivno zahtevati ali anketirati tem, da bi prejeli nova sporočila. Specifične razlike so naslednje:
vrsta
| Tema
| Čakalna vrsta | Pregled
| Objavi Naroči sporočila Objavi naročninska sporočila
| Točka-točka-točka
| Ni države
| Podatki o temah so privzeto brez stanja.
| Podatki o vrsti so privzeto shranjeni kot datoteka na strežniku MQ, na primer Active MQ je običajno shranjen pod $AMQ_HOME\data\kr-store\data. Lahko se konfigurira tudi kot podatkovna shramba.
| Jamstvo integritete
| Ni nobenega zagotovila, da bo vsak podatek, ki ga objavi založnik, sprejet s strani naročnika.
| Čakalna vrsta zagotavlja, da lahko prejemnik prejme vsak podatek.
| ali bo sporočilo izgubljeno
| Na splošno, ko založnik objavi sporočilo določeni temi, lahko sporočilo prejme le tisti, ki posluša naslov teme. Če ni podforuma, ki bi ga poslušali, je tema izgubljena.
| Pošiljatelj pošlje sporočilo ciljni vrsti, prejemnik pa lahko sprejema sporočila v tej vrsti asinhrono. Sporočila v čakalni vrsti ne bodo izgubljena, če za zdaj ni prejemnika, ki bi jih prevzel.
| Politika sprejemanja sporočil
| Politika objavljanja in prejemanja sporočil ena proti več, več naročnikov, ki poslušajo isto temo, lahko prejme sporočila, ki jih pošlje založnik. Podmornica prejme obvestilo na mq strežnik
| Politike objavljanja in prejemanja sporočil ena na ena, sporočila, ki jih pošilja pošiljatelj, lahko prejme le en prejemnik. Ko prejemnik prejme sporočilo, MQ strežnik obvesti MQ strežnik, da je bil prejet, MQ strežnik pa izbriše ali izvede druge ukrepe glede sporočil v vrsti.
|
|