Jono ja Aihe ovat kaksi viestimallia, joita JMS tukee: 1. Pisteestä pisteeseen (PTP) jonoviestimalli: Tässä viestimallissa yksi sovellus (eli viestin tuottaja) voi lähettää viestin toiselle sovellukselle (eli viestin kuluttajalle). Tässä toimitusmallissa viestin kohdetyyppi on jono (eli Destination interface implementation class -instanssi luodaan Session interface implementation class -instanssin toimesta kutsumalla createQueue-metodia ja välittämällä jonon nimi). Viesti toimitetaan ensin tiettyyn jonoon viestipalvelimen puolella, ja sieltä viesti toimitetaan kuluttajalle, joka kuuntelee tätä jonoa. Sama jono voi yhdistää useita viestintuottajia ja kuluttajia, mutta viesti voidaan toimittaa vain yhdelle viestin kuluttajalle. Jos useampi viestinkäyttäjä kuuntelee viestejä jonossa, JMS-viestipalvelin määrittää, minkä viestin kuluttaja saa seuraavan viestin "saapumisjärjestyksessä" -periaatteen perusteella. Jos mikään viestin kuluttaja ei kuuntele jonoa, viesti pysyy jonossa, kunnes viestin kuluttaja yhdistyy jonoon. Tämä viestintämalli on perinteisessä mielessä laiska tai kyselymalli. Tässä mallissa viestejä ei automaattisesti lähetetä viestin kuluttajalle, vaan ne pyydetään jonosta viestin kuluttajan toimesta. 2. Julkaise/tilaa (pub/sub) aiheviestien malli: Tämän viestimallin avulla sovellukset pystyvät lähettämään yhden viestin useille viestien käyttäjille. Tässä toimitusmallissa viestin kohdetyyppi on aihe (eli Destination interface implementation class -instanssi luodaan Session interface implementation class -instanssin toimesta kutsumalla createTopic-metodia ja välittämällä aiheen nimi). Viesti julkaistaan ensin tiettyyn aiheeseen viestipalvelimella viestintuottajan toimesta, joka toimittaa viestin kaikille aiheen tilaajille. Aihetavoitteet tukevat myös pitkäaikaisia tilauksia. Pitkäaikainen tilaus tarkoittaa, että kuluttaja on mukana aihetavoitteessa, mutta kuluttaja voi olla passiivinen, kun viesti saapuu määränpäähän. Viesti vastaanotetaan, kun kuluttaja on taas aktiivinen. Jos kukaan kuluttajista ei ole rekisteröitynyt aiheen kohteeseen, aihe säilyttää viestit vain passiivisille kuluttajille, jotka ovat liittyneet pitkäaikaiseen tilaukseen. Toisin kuin PTP-viestintämalli, pub/sub-viestintämalli mahdollistaa useiden aiheiden tilaajien vastaanoton saman viestin. JMS säilyttää viestin, kunnes kaikki aiheen tilaajat saavat sen. Pub/sub-viestintämalli on käytännössä push-malli. Tässä mallissa viestit lähetetään automaattisesti, eikä viestien kuluttajien tarvitse aktiivisesti pyytää tai äänestää aiheita saadakseen uusia viestejä. Erityiset erot ovat seuraavat:
tyyppi
| Aihe
| Jono | Yleiskatsaus
| Julkaise Tilaa viestit Julkaise tilausviestit
| Pisteestä pisteeseen pisteestä pisteeseen
| Valtiota ei ole
| Aihetiedot ovat oletuksena tilattomia.
| Jonotusdata tallennetaan oletuksena tiedostona MQ-palvelimelle, esimerkiksi Active MQ tallennetaan yleensä $AMQ_HOME\data\kr-store\data:n alle. Se voidaan myös konfiguroida tietokantavarastoksi.
| Eheystakuu
| Ei ole takeita, että jokainen julkaisijan julkaisema tieto hyväksytään tilaajalta.
| Jono takaa, että vastaanottaja voi vastaanottaa jokaisen datan.
| katoaako viesti
| Yleisesti ottaen, kun julkaisija julkaisee viestin aiheesta, vain se alaryhmä, joka kuuntelee aiheen osoitetta, voi vastaanottaa viestin. Jos ei ole sub-kuuntelua, aihe katoaa.
| Lähettäjä lähettää viestin kohdejonoon, ja vastaanottaja voi vastaanottaa viestejä tässä jonossa asynkronisesti. Jonossa olevat viestit eivät katoa, jos vastaanottajaa ei ole hakemassa niitä toistaiseksi.
| Viestien julkaisun vastaanottopolitiikka
| Yksi-moneen viestien julkaisu- ja vastaanottopolitiikka, useat alatilaajat, jotka kuuntelevat samaa aiheen osoitetta, voivat vastaanottaa julkaisijan lähettämiä viestejä. Sub vastaanottaa ilmoituksen mq-palvelimelle
| Yksi yhteen -viestien julkaisu- ja vastaanottopolitiikat, lähettäjän lähettämät viestit voivat vastaanottaa vain yhden vastaanottajan. Kun vastaanottaja on vastaanottanut, MQ-palvelin ilmoittaa MQ-palvelimelle, että se on vastaanotettu, ja MQ-palvelin poistaa tai ryhtyy muihin toimiin jonossa oleville viesteille.
|
|