Kø og Emne er to meldingsmodeller som støttes av JMS: 1. Punkt-til-punkt (PTP) kømeldingsmodell: Med denne meldingsmodellen kan én applikasjon (dvs. meldingsprodusenten) sende en melding til en annen applikasjon (dvs. meldingskonsumenten). I denne leveringsmodellen er meldingsdestinasjonstypen en kø (dvs. Destinasjonsgrensesnittets implementasjonsklasseinstans opprettes av Session-grensesnittets implementasjonsklasseinstans ved å kalle dens createQueue-metode og sende inn kønavnet). Meldingen leveres først til en spesifikk kø på meldingsserversiden, og derfra leveres meldingen til en forbruker som lytter til denne køen. Den samme køen kan knytte flere meldingsprodusenter og meldingskonsumenter, men en melding kan bare leveres til én meldingsmottaker. Hvis flere meldingsbrukere lytter til meldinger i køen, avgjør JMS-meldingsserveren hvilken meldingsmottaker som mottar neste melding basert på prinsippet «først til måter»-prinsippet. Hvis ingen meldingskonsument lytter til køen, forblir meldingen i køen til meldingsbrukeren kobler seg til køen. Denne meldingsmodellen er en lat eller meningsmålingsmodell i tradisjonell forstand. I denne modellen blir meldinger ikke automatisk sendt til meldingsbrukeren, men forespørres fra køen av meldingsbrukeren. 2. Publiser/abonner (publiser/sub) emnemeldingsmodell: Med denne meldingsmodellen kan applikasjoner sende en enkelt melding til flere meldingsbrukere. I denne leveringsmodellen er meldingsdestinasjonstypen temaet (dvs. Destinasjonsgrensesnittets implementasjonsklasseinstans opprettes av Session-grensesnittets implementasjonsklasseinstans ved å kalle sin createTopic-metode og sende inn emnenavnet). Meldingen publiseres først til et spesifikt emne på meldingsserveren av meldingsprodusenten, som deretter leverer meldingen til alle brukere som har abonnert på emnet. Temamål støtter også langsiktige abonnementer. Et langtidsabonnement betyr at forbrukeren er registrert i emnemålet, men at forbrukeren kan være inaktiv når meldingen når destinasjonen. Meldingen vil bli mottatt når forbrukeren er aktiv igjen. Hvis ingen av forbrukerne er registrert på en emnedestinasjon, beholder temaet kun meldinger for inaktive brukere som har registrert seg for et langtidsabonnement. I motsetning til PTP-meldingsmodellen, tillater pub/sub-meldingsmodellen at flere emneabonnenter mottar samme melding. JMS holder meldingen til alle temaabonnenter mottar den. Pub/sub-meldingsmodellen er i bunn og grunn en push-modell. I denne modellen kringkastes meldinger automatisk, og meldingsbrukere trenger ikke aktivt å be om eller polle temaer for å få nye meldinger. De spesifikke forskjellene er som følger:
type
| Tema
| Kø | Oversikt
| Publiser Abonner meldinger Publiser abonnementsmeldinger
| Punkt-til-punkt Punkt-til-punkt
| Det finnes ingen stat
| Emnedata er som standard tilstandsløse.
| Kødata lagres som en fil på MQ-serveren som standard, for eksempel lagres Active MQ vanligvis under $AMQ_HOME\data\kr-store\data. Den kan også konfigureres som en databaselagring.
| Integritetsgaranti
| Det er ingen garanti for at alle data publisert av utgiveren vil bli akseptert av abonnenten.
| Kø garanterer at hver eneste databit kan mottas av mottakeren.
| om meldingen vil gå tapt
| Generelt, når en utgiver publiserer en melding om et tema, er det kun suben som lytter til emneadressen som kan motta meldingen. Hvis det ikke er noen sub som lytter, går temaet tapt.
| Avsenderen sender en melding til målkøen, og mottakeren kan motta meldinger på denne køen asynkront. Meldinger på køen vil ikke gå tapt hvis det ikke finnes noen mottaker som tar imot dem for øyeblikket.
| Mottakspolicy for meldingsutgivelse
| Én-til-mange-policy for publisering og mottak av meldinger, flere subber som lytter til samme emneadresse kan motta meldinger sendt av utgiveren. Subben mottar varslingen til mq-serveren
| Én-til-én meldingspubliserings- og mottakspolicyer, meldinger sendt av en avsender, kan kun mottas av én mottaker. Etter at mottakeren har mottatt, varsler MQ-serveren MQ-serveren om at den er mottatt, og MQ-serveren sletter eller utfører andre handlinger på meldingene i køen.
|
|