Kø og Emne er to beskedmodeller, der understøttes af JMS: 1. Point-to-point (PTP) kømeddelelsesmodel: Med denne beskedmodel kan én applikation (dvs. meddelelsesproducenten) sende en besked til en anden applikation (dvs. beskedforbrugeren). I denne leveringsmodel er meddelelsesdestinationstypen en kø (dvs. Destination interface-implementeringsklassen oprettes af Session-interface-implementeringsklassen ved at kalde dens createQueue-metode og sende kønavnet ind). Beskeden leveres først til en specifik kø på beskedserverens side, og derfra leveres beskeden til en forbruger, der lytter til denne kø. Den samme kø kan tilknytte flere beskedproducenter og beskedforbrugere, men en besked kan kun leveres til én beskedforbruger. Hvis flere beskedforbrugere lytter til beskeder i køen, bestemmer JMS-beskedserveren, hvilken meddelelsesforbruger der modtager den næste besked baseret på princippet "først til mølle, først til mølle". Hvis ingen meddelelsesforbruger lytter til køen, forbliver beskeden i køen, indtil beskedforbrugeren forbinder til køen. Denne beskedmodel er en doven eller polling-model i traditionel forstand. I denne model bliver beskeder ikke automatisk sendt til beskedforbrugeren, men anmodes fra køen af beskedforbrugeren. 2. Publicér/abonner (udgivelse/sub) emnemeddelelsesmodel: Med denne beskedmodel kan applikationer sende en enkelt besked til flere beskedforbrugere. I denne leveringsmodel er beskeddestinationstypen emnet (dvs. Destination interface-implementeringsklasseinstansen oprettes af Session interface-implementeringsklasseinstansen ved at kalde dens createTopic-metode og indtaste emnenavnet). Beskeden publiceres først til et specifikt emne i beskedserveren af meddelelsesproducenten, som derefter leverer beskeden til alle forbrugere, der har abonneret på emnet. Emnemål understøtter også langsigtede abonnementer. Et langtidsabonnement betyder, at forbrugeren er tilmeldt emnemålet, men forbrugeren kan være inaktiv, når beskeden når destinationen. Beskeden vil blive modtaget, når forbrugeren er aktiv igen. Hvis ingen af forbrugerne er tilmeldt en emnedestination, gemmer emnet kun beskeder for inaktive forbrugere, der har tilmeldt sig et langtidsabonnement. I modsætning til PTP-beskedmodellen tillader pub/sub-beskedmodellen, at flere emneabonnenter modtager den samme besked. JMS holder beskeden, indtil alle emneabonnenter modtager den. Pub/sub-beskedmodellen er grundlæggende en push-model. I denne model udsendes beskeder automatisk, og beskedforbrugere behøver ikke aktivt at anmode om eller spørge emner for at få nye beskeder. De specifikke forskelle er som følger:
slags
| Emne
| Kø | Oversigt
| Publicer Abonner beskeder Udgiv abonnementsbeskeder
| Punkt-til-punkt Punkt-til-punkt
| Der findes ingen stat
| Emnedata er som standard tilstandsløse.
| Kødata gemmes som standard som en fil på MQ-serveren, for eksempel gemmes Active MQ normalt under $AMQ_HOME\data\kr-store\data. Den kan også konfigureres som en database-butik.
| Integritetsgaranti
| Der er ingen garanti for, at alle data, der udgives af udgiveren, vil blive accepteret af abonnenten.
| Kø garanterer, at alle datastykker kan modtages af modtageren.
| om budskabet vil gå tabt
| Generelt, når en udgiver udgiver en besked om et emne, kan kun den sub, der lytter til emneadressen, modtage beskeden. Hvis der ikke er nogen sub, der lytter, går emnet tabt.
| Afsenderen sender en besked til målkøen, og modtageren kan modtage beskeder på denne kø asynkront. Beskeder på køen vil ikke gå tabt, hvis der ikke er nogen modtager til at modtage dem for tiden.
| Modtagelsespolitik for beskedudgivelse
| One-to-many message publicering og modtagelsespolitik, flere subreddits, der lytter til samme emneadresse, kan modtage beskeder sendt af udgiveren. Subben modtager notifikationen til mq-serveren
| En-til-en meddelelser for udgivelse og modtagelse af beskeder, beskeder sendt af en afsender, kan kun modtages af én modtager. Efter modtageren har modtaget, underretter MQ-serveren MQ-serveren om, at den er modtaget, og MQ-serveren sletter eller foretager andre handlinger på beskederne i køen.
|
|