Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 216172|Răspunde: 69

[Program de consolă] Exemplu de operație .NET/C# ActiveMQ [Cod sursă]

  [Copiază linkul]
Postat pe 27.07.2017 13:19:10 | | | |

Rezumatul informațiilor despre ActiveMQ și RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Sursa: Architect_Programmer)

Pentru că proiectul are nevoie ca unele date să fie transmise și primite, deoarece cantitatea de date este relativ mare, aproximativ 3 milioane de date pe zi

La început, am folosit http post pentru a trimite date, dar am constatat că era prea lent, iar viteza de trimitere era mult mai mică decât cea de recepție.

Prin urmare, dacă vrei să folosești o conexiune socket lungă pentru a trimite și primi date, scrie singur serverul socket și clientul, una este o pierdere de timp, dar s-ar putea să nu fie făcut bine

În final, activemq este folosit pentru a trimite și primi date

În primul rând, codul producătorului este următorul:



Consumator, există două modele:

1: Abonament obișnuit, fără nevoie de un "abonament" persistent, adică la conectare poți primi mesaje și nu poți primi mesaje înainte de a te conecta, folosind "CreateConsumer"
2: Abonament persistent, după conectare, poți primi date care nu au fost trimise până acum, folosind "CreateDurableConsumer"


Legături către introducerea CreateDurableConsumer:Autentificarea cu hyperlink este vizibilă.

Creează un abonament persistent nepartajat pe subiectul specificat dacă nu există deja și creează un consumator pe acel abonament persistent. Această metodă creează un abonament persistent fără a folosi un selector de mesaje, iar valoarea noLocal este falsă.
Aplicația folosește un abonament persistent, iar aplicația trebuie să primească toate mesajele publicate pe această temă, inclusiv cele publicate atunci când nu există consumatori activi asociați cu ea. Furnizorul JMS păstrează o evidență a acestui abonament persistent și se asigură că toate mesajele de la editorul vizat vor fi păstrate până când sunt livrate consumatorului și confirmate de acel abonament persistent până la expirarea lor.

Abonamentele persistente continuă să acumuleze mesaje până când sunt șterse folosind metoda dezabonării.

Această metodă poate fi folosită doar cu abonamente persistente nepartajate. Orice abonament persistent creat prin această metodă va fi nepartajat. Aceasta înseamnă că doar un singur consumator activ (adică neînchis) poate exista pe abonament la un moment dat. Termenul "consumator" desemnează aici obiectul TopicSubscriber, MessageConsumer sau JMSConsumer din orice client.

Un abonament persistent nepartajat este identificat printr-un nume specificat de client și un identificator de client care trebuie setat. Aplicațiile care doresc apoi să creeze consumatori pe un abonament persistent nepartajat trebuie să folosească același identificator de client.

Dacă există deja un abonament persistent nepartajat cu același nume și același identificator de client, iar același subiect, selector de mesaje și valoare noLocal sunt deja specificate, iar niciun consumator nu este deja activ (adică nu este închis) pe abonamentul persistent, această metodă creează un abonament durabil existent pe MessageConsumer.

Dacă există deja un abonament persistent nepartajat cu același nume și același identificator de client, iar un consumator pe abonamentul persistent este deja activ (adică nu este închis), va fi lansat un abonament JMSException.

Dacă există deja un abonament persistent nepartajat cu același nume și identificator de client, dar cu un subiect diferit, a fost specificat un selector de mesaje sau o valoare noLocal, iar niciun consumator nu este deja activ (adică nu este închis) pe abonamentul persistent, atunci acest lucru echivalează cu dezabonarea (ștergerea) celui vechi și crearea unuia nou.

Abonamentele persistente partajate și nepartajate pot să nu aibă același nume și aceeași identitate de client. Dacă există deja un abonament persistent partajat cu același nume și identificator de client, se generează un JMSException.

Nu există limită pentru abonamentele persistente și abonamentele nepersistente partajate cu același nume și clientId. Un astfel de abonament va fi complet separat.

Această metodă este aceeași cu metoda createDurableSubscriber corespunzătoare, cu excepția faptului că returnează un MessageConsumer în loc de un TopicSubscriber pentru a reprezenta consumatorul.

Parametru:
Teme - Abonamente la subiecte non-temporare
Nume - Numele folosit pentru a identifica acest abonament
Aruncă:
InvalidDestinationException - Dacă este specificat un subiect invalid.
IllegalStateException - Dacă identificatorul de invitat nu este setat
JMSException -
Dacă sesiunea nu reușește să creeze un abonament persistent nepartajat și MessageConsumer din cauza unei erori interne
Dacă există deja un abonament persistent nepartajat cu același nume și același identificator de client, iar consumatorul este deja activ
Dacă există deja un abonament persistent partajat cu același nume și același identificator de client
De oricând:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic destinație, nume șir, selector de șiruri, bool noLocal);

unde messageSelector este selectorul de mesaje; Flag-ul noLocal este fals implicit, iar când este setat pe true, restricționează consumatorii să primească doar mesaje publicate de aceeași conexiune ca ei, ceea ce se aplică doar subiectelor, nu cozilor. numele este identitatea unică a subiectului de abonament, iar acest parametru trebuie setat atunci când te abonezi la un abonament persistent.

Activemq .net trebuie să se refere la descărcarea pachetului:Autentificarea cu hyperlink este vizibilă.

Descărcare completă a codului sursă:

Turiști, dacă vreți să vedeți conținutul ascuns al acestei postări, vă rogRăspunde




Scor

Numărul participanților1MB+1 Colaps rațiune
LXC1118 + 1 Foarte puternic!

Vezi toate ratingurile





Precedent:Configurarea permisiunilor utilizatorului Activemq
Următor:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Postat pe 16.01.2018 09:11:47 |
a5192142 Postat la 2017-10-20 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Mod avansat

Cum să citești codul sursă
Postat pe 11.12.2019 11:49:26 |
Metoda de prescripție este problematică,
Postat pe 20.10.2017 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Mod avansat
Postat pe 16.08.2017 23:54:36 |
Când se folosește M2MQTT, certificatul este raportat ca o eroare
Postat pe 17.08.2017 04:14:37 |
Acum începe să experimentezi cum să folosești MQTT pentru push
Postat pe 17.08.2017 15:45:19 |
Cred că ar trebui să fie bun
Postat pe 29.08.2017 10:40:38 |
Sper să te ajute
Postat pe 29.08.2017 13:38:07 |
Sper să funcționeze
Postat pe 14.09.2017 15:15:04 |
Când eram tânăr, citeam poezie și cărți și mergeam oriunde mergeam
Postat pe 25.09.2017 09:35:22 |
Îl caut de mult timp, sper să te ajute de data asta, mulțumesc!
Postat pe 25.09.2017 09:45:59 |
@小渣渣
     Cum să cumperi accesorii!
Postat pe 29.09.2017 16:35:28 |
Pentru că, până la urmă, sunt interesat și ajung să găsesc materiale pentru a învăța și a învăța
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com