/ / hornetq гарантира, че съобщението е достигнало до опашката - hornetq

hornetq гарантира, че съобщението достига до опашката - hornetq

Използвам org.hornetq.api.core.client как мога да гарантирам съобщението, което всъщност изпращам стигна до опашката (не клиентът, а само опашката)?

producer.send("validQueue",clientMessage)

моля, имайте предвид, че опашката е валидна опашка.

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

Отговори:

3 за отговор № 1

Наистина зависи от това как изпращате.

Първият ваш въпрос беше за Преди всичко,в JMS трябва да изпратите до невалидна опашка, тъй като производителят ще валидира съществуването на опашката. В основата api на HornetQ изпращате до адрес (а не на опашка) и може да имате опашка без връзка. да питам дали адресът има опашки или не.

Сега за потвърждение бе получено съобщението:

  • Сценарий I, постоянни съобщения без транзакция

Всяко съобщение се изпраща блокирано. Клиентът ще деблокира веднага щом сървърът потвърди получаването на съобщението. Това се прави автоматично .. не е нужно да правите нищо.

  • Сценарий II, непостоянни съобщения, без транзакция

По подразбиране няма потвърждения. Съобщението се изпраща асинхронно. Предполагаме, че съобщението е преходно и не е голяма работа, ако сте го загубили. Можете да го промените, като зададете block-on-non-persistent-send на ServerLocator.

  • Сценарий III, трансакционен (постоянен или не).

Веднага щом се обадите на ангажимент, съобщението е на опашките.

  • Сценарий IV, Изпращане на потвърждение

Задавате обратно повикване и получавате обаждане на метод веднага щом сървърът го сложи на опашките. Вижте ръководството за потвърждение за обратно извикване. Същата функция има и в JMS2.