Я не уверен, что происходит в приведенных ниже сценариях, было бы очень полезно, если бы кто-нибудь объяснил это.
Производитель (P) посылает сообщения M1, M2, M3, M4, M5, M6, M7; предполагая, что он отправлен с момента времени T1 до T7.
Предположим, что ActiveMQ используется в качестве поставщика JMS (AMQ).
Потребитель сообщений (L) будет прослушивателем, привязанным к теме. Название темы: jmsTopic
Сценарий 1:
AMQ работает, L не подключен к jmsTopic в AMQ. P отправляет M1 на M7 в jmsTopic. Если L подключен к jmsTopic во время, скажем, T8, которое больше, чем T7, будет ли он получать сообщения от M1 до M7 или только сообщения, отправленные в тему после времени T8.
Сценарий 2: AMQ работает, L подключен и слушает jmsTopic, P отправляет M1 на M4. L получает от M1 до M4. Тем временем L обрабатывает от M1 до M4, P отправляет M5 к M7, однако L выходит из строя во время обработки M4. Если L снова подключается к jmsTopic , получает ли он M5-M7 или только сообщения, которые были отправлены после того, как L подключился к jmsTopic, будут получены L.
Сценарий 3: AMQ работает, L подключен и слушает jmsTopic, P отправляет M1 на M7. Однако AMQ дает сбой; знает о статусе AMQ и повторно подключается, как только AMQ запущен и работает.