долговечная и не долговечная разница JMS-Topic. Какой лучше использовать прочный или недолговечный?

Может ли кто-нибудь четко объяснить, что является прочным и недолговечным в теме JMS?

У меня есть модель сервера и клиента, до сих пор сервер будет отправлять запрос клиенту, чтобы завершить запрос, отправленный с сервера, и клиент принимает запрос и отправляет ответ на сервер.

У меня есть один сценарий, вместо того, чтобы сервер инициировал отправку запроса моему клиенту, мой клиент должен просмотреть сервер для конкретного запроса и отправить ответ на этот сервер обратно.

Могу ли я применить тему JMS для решения этой проблемы? Если бы кто-нибудь ясно объяснил, был бы признателен. Заранее спасибо.


person Bhuvanesh Waran    schedule 29.02.2016    source источник


Ответы (2)


Не существует понятия о том, что тема является долговечной или недолговечной. Это подписка на тему, которая может быть долговечной или недолговечной.

Недлительная подписка означает, что публикация будет доставлена ​​в приложение-подписчик, пока оно запущено и работает. После завершения работы приложения брокер удалит подписку, и этому подписчику больше не будут доставляться публикации.

С другой стороны, для устойчивой подписки публикации будут доставляться по подписке, даже если приложение подписчика не запущено. Брокер будет хранить такие публикации (в очереди), когда приложение не работает. Как только заявка появится, эти публикации будут доставлены.

person Shashi    schedule 01.03.2016

Как только клиент регистрируется для получения сообщений по теме, устойчивая тема сохраняет сообщения для этого клиента, когда клиент отключен. Таким образом, если клиент не всегда подключен или не всегда может быть подключен, сообщения могут ожидать его позднее (зависит от того, что некоторые провайдеры JMS допускают истечение срока действия надежных сообщений, поэтому, если клиент не подключен в течение длительного времени, сообщения просто исчезают). не сидеть там вечно).

Недлительная тема означает, что клиент получает сообщения для темы только при активном подключении.

В вашем случае единственный способ, которым клиент может «искать конкретный запрос», заключается в том, что тема является устойчивой, клиент хотя бы один раз подключался для получения сообщений из темы, провайдер поддерживает устойчивые темы, и сообщения были отправлены на тему с момента последнего подключения клиента.

Если вы ищете, чтобы каждое сообщение, когда-либо отправленное в тему, было там (это один из способов, которым я интерпретировал ваше требование), чтобы клиент мог искать конкретный запрос в любое произвольное время в прошлом, JMS не звучит как решение.

person Scott Sosna    schedule 01.03.2016