Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 216172|Odgovoriti: 69

[Konzolni program] .NET/C# Primer operacije ActiveMQ [Izvorna koda]

  [Kopiraj povezavo]
Objavljeno na 27. 07. 2017 13:19:10 | | | |

Povzetek informacij o ActiveMQ in RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Vir: Architect_Programmer)

Ker projekt potrebuje nekaj podatkov, ki jih je treba poslati in prejeti, ker je količina podatkov razmeroma velika, približno 3 milijone podatkov na dan

Na začetku sem za oddajo podatkov uporabljal http post, a sem ugotovil, da je prepočasen, hitrost pošiljanja pa precej manjša od hitrosti prejemanja.

Zato, če želite uporabiti dolgo povezavo z vtičnico za pošiljanje in sprejem podatkov, napišite strežnik in odjemalca sami, je to izguba časa, vendar morda ni dobro izvedeno

Nazadnje se activemq uporablja za potiskanje in sprejem podatkov

Prvič, koda proizvajalca je naslednja:



Potrošnik, obstajata dva modela:

1: Običajna naročnina, ni potrebe po trajni "naročnini", torej ob povezavi lahko prejmete sporočila, sporočil pa ne morete prejeti pred povezavo, z uporabo "CreateConsumer"
2: Trajna naročnina, po povezavi lahko prejmete podatke, ki še niso bili potiskani, z uporabo "CreateDurableConsumer"


Povezave do uvedbe CreateDurableConsumer:Prijava do hiperpovezave je vidna.

Ustvarite trajno naročnino, ki ni deljena, na določeno temo, če ta še ne obstaja, in ustvarite potrošnika na tej trajni naročnini. Ta metoda ustvari trajno naročnino brez uporabe izbirnika sporočil, vrednost noLocal pa je napačna.
Aplikacija uporablja trajno naročnino in mora prejemati vsa sporočila, objavljena na določeno temo, vključno z sporočili, ki so objavljena, kadar ni povezanih aktivnih uporabnikov. Ponudnik JMS vodi evidenco o tej trajni naročnini in zagotavlja, da bodo vsa sporočila od izdajatelja shranjena, dokler niso dostavljena potrošniku in potrjena s to trajno naročnino, dokler ne potečejo.

Vztrajne naročnine še naprej kopičijo sporočila, dokler niso izbrisana z uporabo metode odjave.

Ta metoda se lahko uporablja le z nedeljeno trajno naročnino. Vse trajne naročnine, ustvarjene s to metodo, bodo nedeljene. To pomeni, da lahko na naročnini hkrati obstaja le en aktiven (torej ne zaprt) potrošnik. Izraz "consumer" tukaj označuje objekt TopicSubscriber, MessageConsumer ali JMSConsumer v katerem koli odjemalcu.

Nedeljena trajna naročnina je identificirana z imenom, ki ga določi odjemalka, in identifikatorjem odjemalca, ki ga je treba nastaviti. Aplikacije, ki nato želijo ustvarjati potrošnike na nedeljeni trajni naročnini, morajo uporabljati isti identifikator odjemalca.

Če že obstaja nedeljena trajna naročnina z istim imenom in identifikatorjem odjemalca, ista tema, izbirnik sporočil in vrednost brez lokalnega je že določena, in noben uporabnik ni že aktiven (tj. ni zaprt) na trajni naročnini, ta metoda ustvari obstoječo trajno naročnino na MessageConsumer.

Če že obstaja nedeljena trajna naročnina z istim imenom in identifikatorjem odjemalca, in je na trajni naročnini že aktiven uporabnik (tj. ni zaprt), se sproži JMSException.

Če že obstaja trajna naročnina, ki ni deljena, z enakim imenom in identifikatorjem odjemalca, vendar z drugačnim subjektom, je določen izbirnik sporočil ali vrednost brez lokalnega programa, in noben potrošnik ni že aktiven (tj. ni zaprt) na trajni naročnini, je to enakovredno odjavi (brisanju) stare naročnine in ustvarjanju nove.

Deljene in nedeljene trajne naročnine morda nimajo istega imena in identitete odjemalca. Če že obstaja skupna trajna naročnina z istim imenom in identifikatorjem odjemalca, se sproži JMSException.

Ni omejitve za trajne naročnine in deljene netrajne naročnine z istim imenom in clientID-jem. Takšna naročnina bo popolnoma ločena.

Ta metoda je enaka ustrezni metodi createDurableSubscriber, le da namesto TopicSubscriber vrne MessageConsumer, ki predstavlja potrošnika.

Parameter:
Teme - Ne-začasne naročnine na teme
ime - Ime, ki se uporablja za identifikacijo te naročnine
Met:
InvalidDestinationException - Če je navedena neveljavna tema.
IllegalStateException - Če identifikator gosta ni nastavljen
JMSException -
Če seja zaradi notranje napake ne ustvari trajne naročnine in MessageConsumer
Če že obstaja nedeljena trajna naročnina z istim imenom in identifikatorjem odjemalca, potrošnik pa je že aktiven
Če že obstaja skupna trajna naročnina z istim imenom in identifikatorjem odjemalca
Ker:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic destinacija, ime niza, izbirnik nizov, bool noLocal);

kjer je messageSelector izbirnik sporočila; Zastavica noLocal je privzeto napačna, in ko je nastavljena na resnično, omejuje potrošnike, da ne sprejemajo le sporočil, ki jih je objavila ista povezava kot oni sami, kar velja le za teme, ne za vrste. ime je edinstvena identiteta teme naročnine, ta parameter pa je treba nastaviti, ko se naročite na trajno naročnino.

Activemq .net potrebuje referenco za prenos paketa:Prijava do hiperpovezave je vidna.

Celoten prenos izvorne kode:

Turisti, če želite videti skrito vsebino te objave, prosimOdgovoriti




Partitura

Število udeležencev1MB+1 Propad razlog
LXC1118 + 1 Zelo močno!

Oglejte si vse ocene





Prejšnji:Konfiguracija uporabniških dovoljenj Activemq
Naslednji:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Objavljeno na 16. 01. 2018 09:11:47 |
a5192142 Objavljeno 2017-10-20 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Napredni način

Kako brati izvorno kodo
Objavljeno na 11. 12. 2019 11:49:26 |
Postopek predpisovanja je zahteven,
Objavljeno na 20. 10. 2017 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Napredni način
Objavljeno na 16. 08. 2017 23:54:36 |
Pri uporabi M2MQTT je potrdilo prijavljeno kot napaka
Objavljeno na 17. 08. 2017 04:14:37 |
Zdaj začni eksperimentirati z uporabo MQTT za push
Objavljeno na 17. 08. 2017 15:45:19 |
Mislim, da bo v redu
Objavljeno na 29. 08. 2017 10:40:38 |
Upam, da pomaga
Objavljeno na 29. 08. 2017 13:38:07 |
Upam, da bo delovalo
Objavljeno na 14. 09. 2017 15:15:04 |
Ko sem bil mlad, sem bral poezijo in knjige ter hodil kamorkoli sem šel
Objavljeno na 25. 09. 2017 09:35:22 |
Dolgo sem jo iskal, upam, da bo tokrat pomagala, hvala!
Objavljeno na 25. 09. 2017 09:45:59 |
@小渣渣
     Kako kupiti dodatke!
Objavljeno na 29. 09. 2017 16:35:28 |
Ker sem navsezadnje zainteresiran in iščem gradiva za učenje in učenje
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com