Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 216172|Svar: 69

[Konsolprogram] .NET/C# Exempel på en ActiveMQ-operation [Källkod]

  [Kopiera länk]
Publicerad på 2017-07-27 13:19:10 | | | |

Sammanfattning av information om ActiveMQ och RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Källa: Architect_Programmer)

Eftersom projektet behöver viss data som skickas och tas emot, eftersom mängden data är relativt stor, cirka 3 miljoner data per dag

I början använde jag http post för att skicka data, men upptäckte att det var för långsamt och att sändningshastigheten var mycket lägre än mottagningshastigheten.

Därför, om du vill använda en lång socketanslutning för att skicka och ta emot data, skriv socket-servern och klienten själv, är det slöseri med tid, men det kanske inte görs så bra

Slutligen används activemq för att skicka och ta emot data

För det första är producentkoden följande:



Konsument finns det två modeller:

1: Vanlig prenumeration, inget behov av permanent "prenumeration", det vill säga när du ansluter kan du ta emot meddelanden, men du kan inte ta emot meddelanden innan anslutningen, med hjälp av "CreateConsumer"
2: Persistent prenumeration, efter anslutning kan du ta emot data som inte tidigare har skickats med hjälp av "CreateDurableConsumer"


Länkar till introduktionen av CreateDurableConsumer:Inloggningen med hyperlänken är synlig.

Skapa en icke-delad persistent prenumeration på det angivna ämnet om det inte redan finns, och skapa en konsument på den persistenta prenumerationen. Denna metod skapar en persistent prenumeration utan att använda en meddelandeväljare, och noLocal-värdet är falskt.
Applikationen använder en persistent prenumeration och måste ta emot alla meddelanden som publiceras om ämnet, inklusive meddelanden som publiceras när inga aktiva konsumenter är kopplade till den. JMS-leverantören för en logg över denna bestående prenumeration och säkerställer att alla meddelanden från den aktuella utgivaren behålls tills de levereras till konsumenten och bekräftas av den permanenta prenumerationen tills de har gått ut.

Beständiga prenumerationer fortsätter att samla meddelanden tills de raderas med avprenumerationsmetoden.

Denna metod kan endast användas med icke-delade persistenta prenumerationer. Alla bestående prenumerationer som skapas med denna metod kommer att delas ej. Detta innebär att endast en aktiv (dvs. inte stängd) konsument kan finnas på prenumerationen åt gången. Termen "konsument" här avser objektet TopicSubscriber, MessageConsumer eller JMSConsumer i varje klient.

En icke-delad persistent prenumeration identifieras med ett klientspecificerat namn och en klientidentifierare som måste ställas in. Applikationer som sedan vill skapa konsumenter på en icke-delad persistent prenumeration måste använda samma klientidentifierare.

Om en icke-delad persistent prenumeration med samma namn och klientidentifierare redan finns, och samma ämne, meddelandeväljare och noLocal-värde redan är specificerade, och ingen konsument redan är aktiv (dvs. inte stängd) på den persistenta prenumerationen, skapar denna metod en befintlig varaktig prenumeration på MessageConsumer.

Om ett icke-delat persistent abonnemang med samma namn och klientidentifierare redan existerar, och det finns en konsument på det persistenta abonnemanget som redan är aktiv (dvs. inte stängd), kommer en JMSException att kastas.

Om det redan finns en icke-delad persistent prenumeration med samma namn och klientidentifierare men med ett annat ämne, en meddelandeväljare eller noLocal-värde har specificerats, och ingen konsument redan är aktiv (dvs. inte stängd) på den persistenta prenumerationen, är detta likvärdigt med att avprenumerera (radera) den gamla och skapa en ny.

Delade och icke-delade beständiga prenumerationer kanske inte har samma namn och klientidentitet. Om en delad persistent prenumeration med samma namn och klientidentifierare redan existerar, kastas en JMSException.

Det finns ingen gräns för persistenta prenumerationer och delade icke-persistenta prenumerationer med samma namn och clientId. En sådan prenumeration kommer att vara helt separat.

Denna metod är densamma som motsvarande createDurableSubscriber-metod, förutom att den returnerar en MessageConsumer istället för en TopicSubscriber för att representera konsumenten.

Parameter:
Teman - Icke-tillfälliga ämnesprenumerationer
namn - Namnet som används för att identifiera denna prenumeration
Kast:
InvalidDestinationException – Om ett ogiltigt ämne specificeras.
IllegalStateException – Om gästidentifieraren inte är inställd
JMSException -
Om sessionen misslyckas med att skapa en icke-delad persistent prenumeration och MessageConsumer på grund av något internt fel
Om en icke-delad persistent prenumeration med samma namn och klientidentifierare redan existerar, och konsumenten redan är aktiv
Om en delad persistent prenumeration med samma namn och klientidentifierare redan finns
Eftersom:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic destination, strängnamn, strängväljare, bool noLocal);

där messageSelector är meddelandeväljaren; NoLocal-flaggan är falsk som standard, och när den sätts till true begränsar den konsumenter från att endast ta emot meddelanden som publiceras av samma anslutning som dem själva, vilket endast gäller ämnen, inte köer. Namnet är den unika identiteten för prenumerationsämnet, och denna parameter måste sättas när du prenumererar på en persistent prenumeration.

Activemq .net behöver referera till paketnedladdning:Inloggningen med hyperlänken är synlig.

Fullständig källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar




Tjog

Antal deltagare1MB+1 Kollaps förnuft
lxc1118 + 1 Mycket kraftfullt!

Se alla betyg





Föregående:Activemq användarbehörighetskonfiguration
Nästa:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Publicerad på 2018-01-16 09:11:47 |
a5192142 Publicerad den 2017-10-20 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Avancerat läge

Hur man läser källkoden
Publicerad på 2019-12-11 11:49:26 |
Receptmetoden är besvärlig,
Publicerad på 2017-10-20 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Avancerat läge
Publicerad på 2017-08-16 23:54:36 |
När man använder M2MQTT rapporteras certifikatet som ett fel
Publicerad på 2017-08-17 04:14:37 |
Börja nu experimentera med hur man använder MQTT för push
Publicerad på 2017-08-17 15:45:19 |
Jag tycker det borde vara bra
Publicerad på 2017-08-29 10:40:38 |
Hoppas detta hjälper
Publicerad på 2017-08-29 13:38:07 |
Jag hoppas det fungerar
Publicerad på 2017-09-14 15:15:04 |
När jag var ung läste jag poesi och böcker, och jag följde dit jag gick
Publicerad på 2017-09-25 09:35:22 |
Jag har letat efter det länge, jag hoppas det hjälper den här gången, tack!
Publicerad på 2017-09-25 09:45:59 |
@小渣渣
     Hur man köper accessoarer!
Publicerad på 2017-09-29 16:35:28 |
För trots allt är jag intresserad, och jag kommer för att hitta material att lära mig och lära mig
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com