Tā kā projektam ir nepieciešami daži dati, lai tos virzītu un saņemtu, jo datu apjoms ir salīdzinoši liels, aptuveni 3 miljoni datu dienā
Sākumā es izmantoju http post, lai iesniegtu datus, bet atklāju, ka tas bija pārāk lēns, un sūtīšanas ātrums bija daudz mazāks nekā saņemšanas ātrums.
Tāpēc, ja vēlaties izmantot garu ligzdas savienojumu, lai virzītu un saņemtu datus, pats uzrakstiet ligzdas serveri un klientu, tas ir laika izšķiešana, bet tas var nebūt labi izdarīts
Visbeidzot, activemq tiek izmantots, lai virzītu un saņemtu datus
Pirmkārt, ražotāja kods ir šāds:
Patērētājam, ir divi modeļi:
1: Parastais abonements, nav nepieciešams pastāvīgs "abonements", tas ir, izveidojot savienojumu, jūs varat saņemt ziņojumus, un jūs nevarat saņemt ziņojumus pirms savienojuma izveides, izmantojot "CreateConsumer" 2: Pastāvīgs abonements, pēc savienojuma izveides jūs varat saņemt datus, kas iepriekš nav virzīti, izmantojot "CreateDurableConsumer"
Saites uz CreateDurableConsumer ieviešanu:Hipersaites pieteikšanās ir redzama.
Izveidojiet nekoplietojamu pastāvīgu abonementu norādītajai tēmai, ja tas vēl nepastāv, un izveidojiet patērētāju šajā pastāvīgajā abonementā. Šī metode izveido pastāvīgu abonementu, neizmantojot ziņojumu atlasītāju, un vērtība noLocal ir false. Lietojumprogramma izmanto pastāvīgu abonementu, un lietojumprogrammai ir jāsaņem visi ziņojumi, kas publicēti par tēmu, ieskaitot ziņojumus, kas publicēti, ja ar to nav saistītu aktīvu patērētāju. JMS pakalpojumu sniedzējs reģistrē šo pastāvīgo abonementu un nodrošina, ka visi ziņojumi no attiecīgā izdevēja tiks saglabāti, līdz tie tiks piegādāti patērētājam un apstiprināti ar šo pastāvīgo abonementu līdz to derīguma termiņa beigām.
Pastāvīgie abonementi turpina uzkrāt ziņojumus, līdz tie tiek dzēsti, izmantojot abonementa atcelšanas metodi.
Šo metodi var izmantot tikai ar nekoplietotiem pastāvīgiem abonementiem. Visi pastāvīgie abonementi, kas izveidoti, izmantojot šo metodi, tiks atcelti. Tas nozīmē, ka abonementā vienlaikus var pastāvēt tikai viens aktīvs (t.i., ne slēgts) patērētājs. Termins "patērētājs" šeit apzīmē TopicSubscriber, MessageConsumer vai JMSConsumer objektu jebkurā klientā.
Nekoplietots pastāvīgs abonements tiek identificēts ar klienta norādīto nosaukumu un klienta identifikatoru, kas ir jāiestata. Lietojumprogrammām, kas pēc tam vēlas izveidot patērētājus nekoplietotā pastāvīgā abonementā, ir jāizmanto viens un tas pats klienta identifikators.
Ja jau pastāv nekoplietots pastāvīgs abonements ar tādu pašu nosaukumu un klienta identifikatoru un tā pati tēma, ziņojumu atlasītājs un noLocal vērtība jau ir norādīta, un neviens patērētājs jau nav aktīvs (t.i., nav slēgts) pastāvīgajā abonementā, šī metode izveido esošu pastāvīgu abonementu vietnē MessageConsumer.
Ja jau pastāv nekoplietots pastāvīgs abonements ar tādu pašu nosaukumu un klienta identifikatoru un pastāvīgajā abonementā ir patērētājs, kas jau ir aktīvs (t.i., nav slēgts), tiks izmesta JMSException.
Ja jau ir nekoplietots pastāvīgs abonements ar tādu pašu nosaukumu un klienta identifikatoru, bet citu tēmu, ir norādīts ziņojumu atlasītājs vai noLocal vērtība un neviens patērētājs jau nav aktīvs (t.i., nav slēgts) pastāvīgajā abonementā, tad tas ir līdzvērtīgs vecā abonementa atcelšanai (dzēšanai) un jauna izveidei.
Koplietojamiem un nekoplietotiem pastāvīgajiem abonementiem var nebūt vienāds nosaukums un klienta identitāte. Ja koplietots pastāvīgs abonements ar tādu pašu nosaukumu un klienta identifikatoru jau pastāv, tiek izmesta JMSException.
Pastāvīgiem abonementiem un koplietotiem nepastāvīgiem abonementiem ar tādu pašu nosaukumu un clientId nav ierobežojumu. Šāds abonements būs pilnīgi atsevišķs.
Šī metode ir tāda pati kā atbilstošā metode createDurableSubscriber, izņemot to, ka tā atgriež MessageConsumer, nevis TopicSubscriber, lai pārstāvētu patērētāju.
Parametru: Dizaini — nepagaidu tēmu abonementi name — nosaukums, kas tiek izmantots, lai identificētu šo abonementu Metiens: InvalidDestinationException — ja ir norādīta nederīga tēma. IllegalStateException — ja viesa identifikators nav iestatīts JMSException - Ja sesijai neizdodas izveidot nekoplietotu pastāvīgu abonementu un MessageConsumer iekšējas kļūdas dēļ Ja nekoplietots pastāvīgs abonements ar tādu pašu nosaukumu un klienta identifikatoru jau pastāv un patērētājs jau ir aktīvs Ja jau pastāv koplietots pastāvīgais abonements ar tādu pašu nosaukumu un klienta identifikatoru Kopš: JMS 2.0 IMessageConsumer CreateDurableConsumer(ITopic galamērķis, virknes nosaukums, virknes atlasītājs, bool noLocal);
kur messageSelector ir ziņojumu atlasītājs; NoLocal karodziņš pēc noklusējuma ir false, un, ja tas ir iestatīts uz true, tas ierobežo patērētājus saņemt tikai ziņojumus, kas publicēti ar to pašu savienojumu, kas attiecas tikai uz tēmām, nevis rindām. Nosaukums ir abonementa tēmas unikāla identitāte, un šis parametrs ir jāiestata, abonējot pastāvīgu abonementu.
Activemq .net ir jāatsaucas uz pakotnes lejupielādi:Hipersaites pieteikšanās ir redzama.
Pilna avota koda lejupielāde:
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi
|