messaging.md
55 lines
| 1.8 KiB
| text/x-minidsrc
|
MarkdownLexer
|
|
r59 | # Обмен сообщениями | |
| ## Session | |||
| Контекст обмена сообщениями, отвечает за создание конечных точек для получения и отправки сообщений, а также инкапсулирует в себе работу с провайдером системы обмена сообщениями. | |||
| Сессия позволяет выполнить конфигурацию компонент обработки сообщений, до начала реального обмена и после окончания конфигурации выполнить метод `start` после которого начнется реальная обработка. Такой способ позволяет избежать ошибки и потерю сообщений по причине того, что часть компонент готова к работе и уже получает и отправляет сообщения, а часть еще не настроена. | |||
| ```ts | |||
| // some provider related code | |||
| const connection = new StompService("ws://broker.329broker.com:15674/ws", { user: "user", pass: "secret" }); | |||
| const session = connection.createSession(); | |||
| // create and configure consumers and producers | |||
| const consumer = session.createConsumer("topic://notify"); | |||
| // make event driven consumer | |||
| consumer.observe().on(msg => { | |||
| // do something | |||
| // mark the message as processed | |||
| msg.ack(); | |||
| }); | |||
| const producer = session.createProducer("queue://requests"); | |||
| // signal the session to start | |||
| session.start(); | |||
| // await the session is started | |||
| await session.getCompletion(); | |||
| ``` | |||
| ### start | |||
| Начинает сессию | |||
| ### createConsumer | |||
| ### createProducer | |||
| ## Consumer | |||
| ### Push-consumer | |||
| #### messages | |||
| ### Pull-consumer | |||
| #### read | |||
| ## Producer | |||
| ### post |
