Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 216172|Válasz: 69

[Konzol program] .NET/C# ActiveMQ műveleti példa [Forráskód]

  [Linket másol]
Közzétéve 2017. 07. 27. 13:19:10 | | | |

Összefoglaló az ActiveMQ-ról és a RabbitMQ-ról
http://www.itsvse.com/thread-4659-1-1.html
(Forrás: Architect_Programmer)

Mivel a projektnek szüksége van bizonyos adatokra, hogy továbbítsák és fogadják, mivel az adatmennyiség viszonylag nagy, naponta körülbelül 3 millió adat

Eleinte http postot használtam adatküldéshez, de azt találtam, hogy túl lassú volt, és a küldési sebesség sokkal kisebb volt, mint a vételi sebesség.

Ezért, ha hosszú socketes kapcsolatot akarsz használni az adatok tolására és fogadására, akkor magad írd meg a socket szervert és klienst, az az időpazarlás, de lehet, hogy nem lesz jól

Végül az activemq-t az adatok tolására és fogadására használják

Először is, a gyártó kód a következő:



Fogyasztó, két modell létezik:

1: Egyszerű előfizetés, nincs szükség állandó "előfizetésre", vagyis csatlakozás közben üzeneteket fogadhatsz, és a csatlakozás előtt nem fogadhatod az üzeneteket, a "CreateConsumer" használatával
2: Állandó előfizetés, a csatlakozás után olyan adatokat kaphatsz, amelyeket korábban nem továbbítottak, a "CreateDurableConsumer" használatával


Linkek a CreateDurableConsumer bevezetéséhez:A hiperlink bejelentkezés látható.

Hozz létre egy nem megosztott, állandó előfizetést a megadott témában, ha az még nem létezik, és hozz létre egy fogyasztót ezen az állandó előfizetésen. Ez a módszer állandó előfizetést hoz létre üzenetválasztó használata nélkül, és a noLocal érték hamis.
Az alkalmazás állandó előfizetést használ, és az alkalmazásnak minden témában közzétett üzenetet meg kell kapnia, beleértve azokat is, amelyeket akkor publikálnak, ha nincsenek aktív fogyasztók hozzárendelve. A JMS szolgáltató nyilvántartást vezet a tartós előfizetésről, és biztosítja, hogy az érintett kiadó összes üzenete meg nem maradjon, amíg el nem juttatják a fogyasztóhoz, és addig erősítik meg az állandó előfizetést, amíg lejárnak.

A tartós előfizetések folyamatosan halmozzák az üzeneteket, amíg azokat a leszokás módszerrel nem törlik.

Ez a módszer csak nem megosztott, állandó előfizetésekkel használható. A módszerrel létrehozott tartós előfizetések nem lesznek megosztva. Ez azt jelenti, hogy egyszerre csak egy aktív (azaz nem zárt) fogyasztó lehet az előfizetésben. A "fogyasztó" kifejezés itt a TopicSubscriber, MessageConsumer vagy JMSConsumer objektumot jelöli bármely kliensben.

A nem megosztott, állandó előfizetést egy kliens által megadott név és egy beállítandó kliens azonosító jelöli. Azoknak az alkalmazásoknak, amelyek ezután nem megosztott állandó előfizetésen szeretnének fogyasztókat létrehozni, ugyanazt az ügyfélazonosítót kell használniuk.

Ha már létezik egy megosztatlan, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval, ugyanaz a téma, üzenetválasztó és noLocal érték már meg van jelölve, és nincs aktív (azaz nem zárva) a tartós előfizetésen, akkor ez a módszer egy tartós előfizetést hoz létre a MessageConsumeren.

Ha már létezik egy nem megosztott, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval, és van egy fogyasztó a tartós előfizetésen már aktív (azaz nem zárva), akkor JMSException indul.

Ha már létezik egy nem megosztott, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval, de más tárgyal, egy üzenetválasztó vagy noLocal érték van megadva, és nincs aktív (azaz nem zárva) a tartós előfizetésen, akkor ez egyenértékű azzal, mintha a régi előfizetést törölnénk (visszavonnánk) és új előfizetést hoznunk létre.

A megosztott és nem megosztott állandó előfizetések nem feltétlenül ugyanazzal a nevükkel és kliens identitással rendelkeznek. Ha már létezik egy megosztott, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval, akkor JMSException indul.

Nincs korlát a tartós előfizetésekre és a nem állandó előfizetésekre ugyanazzal a névvel és clientId-vel. Egy ilyen előfizetés teljesen különálló lesz.

Ez a módszer ugyanaz, mint a megfelelő createDurableSubscriber módszer, kivéve, hogy a fogyasztót képviseli a TopicSubscriber helyett MessageConsumer-t.

Paraméter:
Témák - Nem ideiglenes témairatok
név – Az előfizetés azonosítására használt név
Dobás:
InvalidDestinationException – Ha egy érvénytelen téma van megadva.
IllegalStateException – Ha a vendégazonosító nincs beállítva
JMSException -
Ha az ülés nem jön létre nem megosztott állandó előfizetés és MessageConsumer valami belső hiba miatt
Ha már létezik egy nem megosztott, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval, és a fogyasztó már aktív
Ha már létezik egy megosztott, állandó előfizetés ugyanazzal a névvel és kliens azonosítóval
Azóta:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic célállomás, string név, string selector, bool noLocal);

ahol messageSelector az üzenetválasztó; A noLocal zászló alapértelmezetten hamis, és ha igazra állítják, korlátozza a felhasználóknak, hogy csak ugyanazon kapcsolaton keresztül megjelent üzeneteket kapjanak, ami csak témákra vonatkozik, nem sorokra. A név az előfizetéses téma egyedi identitása, és ezt a paramétert be kell állítani, amikor állandó előfizetésre feliratkozol.

Az Activemq .net-nek hivatkoznia kell a csomag letöltésére:A hiperlink bejelentkezés látható.

Teljes forráskód letöltés:

Turisták, ha szeretnétek megnézni ennek a bejegyzésnek a rejtett tartalmát, kérlekVálasz




Pontszám

A résztvevők száma1MB+1 Összeomlás ok
lxc1118 + 1 Nagyon erős!

Minden értékelés megtekintése





Előző:Activemq felhasználói jogosultsági konfiguráció
Következő:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Közzétéve 2018. 01. 16. 9:11:47 |
a5192142 Közzétéve: 2017-10-20 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Fejlett mód

Hogyan olvassuk el a forráskódot
Közzétéve 2019. 12. 11. 11:49:26 |
A felírási módszer problémás,
Közzétéve 2017. 10. 20. 11:46:30 |
RE: .net/c# activemq操作示例[源码] [修改]
Fejlett mód
Közzétéve 2017. 08. 16. 23:54:36 |
M2MQTT használatakor a tanúsítványt hibaként jelentik
Közzétéve 2017. 08. 17. 4:14:37 |
Most kezdj el babrálni azon, hogyan lehet használni az MQTT-t push-hez
Közzétéve 2017. 08. 17. 15:45:19 |
Szerintem jó lesz
Közzétéve 2017. 08. 29. 10:40:38 |
Remélem, segítek
Közzétéve 2017. 08. 29. 13:38:07 |
Remélem, működik
Közzétéve 2017. 09. 14. 15:15:04 |
Fiatalon verseket és könyveket olvastam, és bárhová jártam
Közzétéve 2017. 09. 25. 9:35:22 |
Már régóta keresem, remélem, most segít, köszönöm!
Közzétéve 2017. 09. 25. 9:45:59 |
@小渣渣
     Hogyan vásároljunk kiegészítőket!
Közzétéve 2017. 09. 29. 16:35:28 |
Mert végül is érdekel, és azért találok anyagokat, amiket tanulhatok és tanulhatok
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com