activemq разлика между трайни абонаменти със и без ретроактивен режим

Току-що започнах да използвам activemq и имам въпрос относно потребителите със задна дата, за да активирате тази функция, трябва да имате траен абонамент. Но каква е разликата между траен абонамент със и без ретроактивно активиране по темата? се казва в документа на activemq.

http://activemq.apache.org/retroactive-consumer.html Ретроактивен потребител е просто обикновен потребител на JMS тема, който посочва, че в началото на абонамента всеки опит трябва да се използва за връщане назад във времето и изпращане на стари съобщения (или последното съобщение, изпратено по тази тема), които потребителят може да е пропуснал.

относно потребителите със задна дата. и за трайни абонати:

http://activemq.apache.org/how-do-durable-queues-and-topics-work.html ... Така че за траен абонамент за тема JMS доставчикът трябва да може да идентифицира S, когато се изключи и по-късно в бъдеще се свърже отново, така че да може знаете какви съобщения да му изпращате, докато не работи

Наистина не виждам големи разлики между трайни абонаменти със и без ретроактивен режим.

Моля, обяснете благодаря.


person user2760360    schedule 09.09.2013    source източник


Отговори (1)


Потребител със задна дата всъщност не е нещо, което правите с траен абонамент. Абонатите на Durable Topic имат всички изпратени до тях съобщения, които са маркирани като постоянни, запазени в DB до следващия път, когато се свържат, след което тези съобщения се изпращат.

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

Така че не си правете труда да се забърквате с ретроактивни неща, ако използвате траен абонамент, тъй като не е необходимо. И не разчитайте, че ретроактивният потребител винаги ще работи, тъй като той работи само със съобщения, съхранени в паметта, така че ако брокерът се рестартира, няма какво да се възстанови.

По-добър вариант в много сценарии е да използвате Виртуални теми, тъй като това ще присвои опашка за всяка потребителят и съобщенията ще се съхраняват в опашката дори когато потребителят излезе офлайн за малко.

person Tim Bish    schedule 09.09.2013
comment
Можете ли да посочите случай на употреба, при който ще се използва траен абонамент срещу това, когато трябва да се използва ретроактивен потребител? - person Sudarshan; 25.05.2015
comment
Ретроактивните потребители се потапят само в паметта, а не в магазина, така че ако брокерът се рестартира, няма да има съобщения за възстановяване със задна дата. - person Tim Bish; 25.05.2015
comment
Защо ви е необходима виртуална тема, ако имате трайни абонаменти? - person Jonathan S. Fisher; 03.09.2015