Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 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.

Нет ограничений на постоянные подписки и общие непостоянные подписки с одним именем и идентификатором клиента. Такая подписка будет полностью отдельной.

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

Параметр:
Темы — Невременные темы подписки
имя — имя, используемое для обозначения этой подписки
Бросок:
InvalidDestinationException — если указана недопустимая тема.
IllegalStateException — если идентификатор гостя не установлен
JMSException -
Если сессия не создаёт несовместную постоянную подписку и MessageConsumer из-за внутренней ошибки
Если уже существует нераспределённая постоянная подписка с тем же именем и идентификатором клиента, и потребитель уже активен
Если уже существует общая постоянная подписка с тем же именем и идентификатором клиента
С тех пор:
JMS 2.0

IMessageConsumer CreateDurableConsumer(ITopic destination, name string, string selector, bool noLocal);

где messageSelector — селектор сообщений; Флаг noLocal по умолчанию ложный, и при установке true он ограничивает пользователей в получении сообщений, опубликованных только через их же соединение, что применимо только к темам, а не к очередям. Имя — это уникальная идентичность темы подписки, и этот параметр должен быть установлен при подписании на постоянную подписку.

Activemq .net нуждается в ссылке на загрузку пакета:Вход по гиперссылке виден.

Полный исходный код для скачивания:

Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйстаОтвет




Счёт

Количество участников1МБ+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 для пуша
Опубликовано 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