У меня есть тема. У меня на него подписано 10 потребителей. Насколько я понимаю, сообщение будет удалено из темы, пока его не получат все потребители. Верно? Как только оно будет удалено, дальнейшие подписчики не будут уведомлены об этом конкретном сообщении. Я нигде не смог подтвердить это в спецификации JMS.
Сообщение с какого момента времени удалено из темы?
Ответы (2)
Брокер (в вашем случае Active MQ) будет доставлять публикацию всем активным подписчикам, как постоянным, так и временным (имеется в виду потребительские приложения, которые запускаются, когда публикация была сделана по теме, и потребляющие сообщения, а также любые постоянные подписчики, которые не являются активными). ). После этого брокер отклонит публикацию. Если на тему нет активных подписчиков или постоянных подписчиков, брокер немедленно отклонит публикацию. Он не будет ждать, пока какие-либо подписчики станут активными. Единственным исключением является вариант «Сохраненная публикация», когда брокер кэширует публикацию и доставляет ее потребителям, которые могут появиться позже. Но обратите внимание, что брокер не будет ждать, пока все потребители получат публикацию, прежде чем удалить ее из темы. Я бы сказал, что нет ничего лучше «удаления из темы».
Надеюсь, я ясно.
В этом случае ваше сообщение получат только активные подписчики, после чего ваше сообщение будет удалено. Если вы хотите отправить свое сообщение и неактивным подписчикам, вы можете настроить постоянную подписку.