Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 216172|Отговор: 69

[Конзолна програма] Пример за .NET/C# ActiveMQ операция [Изходен код]

  [Копирай линк]
Публикувано в 27.07.2017 г. 13:19:10 ч. | | | |

Обобщение на информацията за ActiveMQ и RabbitMQ
http://www.itsvse.com/thread-4659-1-1.html
(Източник: Architect_Programmer)

Тъй като проектът се нуждае от някои данни, които да бъдат предоставени и получени, тъй като количеството данни е сравнително голямо, около 3 милиона данни на ден

В началото използвах http post за подаване на данни, но установих, че е твърде бавно, а скоростта на изпращане е много по-ниска от тази на приемането.

Затова, ако искате да използвате дълга сокет връзка за изпращане и получаване на данни, да пишете сокет сървъра и клиента сами, това е загуба на време, но може да не е направено добре

Накрая, activemq се използва за изпращане и получаване на данни

Първо, кодът на производителя е следният:



За потребителя има два модела:

1: Обикновен абонамент, няма нужда от постоянен "абонамент", тоест при свързване можете да получавате съобщения и не можете да ги получавате преди свързване, използвайки "CreateConsumer"
2: Постоянен абонамент, след свързване можете да получавате данни, които не са били изпращани преди, използвайки "CreateDurableConsumer"


Връзки към въвеждането на CreateDurableConsumer:Входът към хиперлинк е видим.

Създайте несподелен постоянен абонамент по посочената тема, ако той вече не съществува, и създайте потребител на този постоянен абонамент. Този метод създава постоянен абонамент без използване на селектор на съобщения, а стойността noLocal е невярна.
Приложението използва постоянен абонамент и трябва да получава всички съобщения, публикувани по темата, включително съобщения, публикувани когато няма активни потребители, свързани с него. JMS доставчикът води запис на този постоянен абонамент и гарантира, че всички съобщения от съответния издател ще бъдат запазени, докато не бъдат доставени до потребителя и потвърдени от този постоянен абонамент, докато не изтекат.

Постоянните абонаменти продължават да натрупват съобщения, докато не бъдат изтрити чрез метода за отписване.

Този метод може да се използва само при несподелени постоянни абонаменти. Всички постоянни абонаменти, създадени по този метод, ще бъдат отменени. Това означава, че само един активен (т.е. не затворен) потребител може да съществува по абонамента едновременно. Терминът "потребител" тук означава обекта TopicSubscriber, MessageConsumer или JMSConsumer във всеки клиент.

Несподеленият постоянен абонамент се идентифицира с име, зададено от клиента, и идентификатор на клиента, който трябва да бъде зададен. Приложенията, които след това искат да създават потребители с несподелен постоянен абонамент, трябва да използват същия идентификатор на клиента.

Ако вече съществува несподелен постоянен абонамент със същото име и идентификатор на клиента, и същата тема, селектор на съобщения и стойност noLocal вече са зададени и няма потребител активен (т.е. не е затворен) на постоянния абонамент, този метод създава съществуващ траен абонамент в MessageConsumer.

Ако вече съществува несподелен постоянен абонамент със същото име и идентификатор на клиента, и потребител на постоянния абонамент вече е активен (т.е. не е затворен), ще бъде изхвърлена JMSException.

Ако вече има несподелен постоянен абонамент със същото име и идентификатор на клиента, но с различен субект, е посочен селектор на съобщения или стойност noLocal, и нито един потребител не е активен (т.е. не е затворен) на постоянния абонамент, това е еквивалентно на отписване (изтриване) на стария абонамент и създаване на нов.

Споделените и несподелените постоянни абонаменти може да нямат едно и също име и идентичност на клиента. Ако вече съществува споделен постоянен абонамент със същото име и идентификатор на клиента, се хвърля JMSException.

Няма ограничение за постоянни абонаменти и споделени непостоянни абонаменти със същото име и клиентId. Такъв абонамент ще бъде напълно отделен.

Този метод е същият като съответния метод createDurableSubscriber, с изключение на това, че връща MessageConsumer вместо TopicSubscriber, за да представи потребителя.

Параметър:
Теми - Временни тематични абонаменти
име - Името, използвано за идентифициране на този абонамент
Хвърляне:
InvalidDestinationException - Ако е посочена невалидна тема.
IllegalStateException - Ако идентификаторът на госта не е зададен
JMSException -
Ако сесията не успее да създаде несподелен постоянен абонамент и MessageConsumer поради някаква вътрешна грешка
Ако вече съществува несподелен постоянен абонамент със същото име и идентификатор на клиента, а потребителят вече е активен
Ако вече съществува споделен постоянен абонамент със същото име и идентификатор на клиента
Откато:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic дестинация, име на низ, селектор на низ, bool noLocal);

където messageSelector е селекторът на съобщения; Флагът noLocal по подразбиране е фалшив и когато е настроен на true, ограничава потребителите да получават само съобщения, публикувани от същата връзка като тях, което важи само за теми, а не за опашки. името е уникалната идентичност на темата на абонамента, и този параметър трябва да бъде зададен при абониране за постоянен абонамент.

Activemq .net трябва да се справи с изтегляне на пакети:Входът към хиперлинк е видим.

Пълно изтегляне на изходния код:

Туристи, ако искате да видите скритото съдържание на този пост, моляОтговор




Резултат

Брой участници1MB+1 Срив причина
LXC1118 + 1 Много мощно!

Вижте всички оценки





Предишен:Конфигурация на потребителски разрешения в Activemq
Следващ:Unknown: Input variables exceeded 1000. To increase the limit change max_inpu...
Публикувано в 16.01.2018 г. 9:11:47 ч. |
a5192142 Публикувано на 2017-10-20 11:46
RE: .net/c# activemq操作示例[源码] [修改]
Разширен режим

Как да прочетете изходния код
Публикувано в 11.12.2019 г. 11:49:26 ч. |
Методът с рецепта е труден,
Публикувано в 20.10.2017 г. 11:46:30 ч. |
RE: .net/c# activemq操作示例[源码] [修改]
Разширен режим
Публикувано в 16.08.2017 г. 23:54:36 ч. |
При използване на M2MQTT сертификатът се докладва като грешка
Публикувано в 17.08.2017 г. 4:14:37 ч. |
Сега започни да експериментираш с това как да използваш MQTT за push
Публикувано в 17.08.2017 г. 15:45:19 ч. |
Мисля, че трябва да е добра
Публикувано в 29.08.2017 г. 10:40:38 ч. |
Надявам се това да помогне
Публикувано в 29.08.2017 г. 13:38:07 ч. |
Надявам се да проработи
Публикувано в 14.09.2017 г. 15:15:04 ч. |
Когато бях малък, четях поезия и книги, и ходех навсякъде, където отида
Публикувано в 25.09.2017 г. 9:35:22 ч. |
Търся го отдавна, надявам се този път да помогне, благодаря!
Публикувано в 25.09.2017 г. 9:45:59 ч. |
@小渣渣
     Как да купите аксесоари!
Публикувано в 29.09.2017 г. 16:35:28 ч. |
Защото в крайна сметка аз се интересувам и започвам да намирам материали за учене и учене
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com