2012-05-23 3 views
0

Я работаю с протоколом stomp, используя активную реализацию mq как stomp server/broker. Я хотел бы иметь очередь сообщений для клиента stomp, который может быть заполнен, пока клиент не находится в автономном режиме, так что, когда клиент время от времени подключается, он может получать массажи, которые были депонированы, когда он был в автономном режиме.stomp protocol регулярные последовательности для долговременной подписки

Как я читал, это может быть достигнуто с помощью простой подписки или долговременной подписки. Я решил прочную подписку. Правильно ли это?

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

CONNECT

  • логин:
  • кода доступа:
  • клиент-ID: some_mac_adr

РАССЫЛКА

  • назначения:/очереди/some_mac_adr
  • получение: получение-сообщ
  • долговечны-подписчик имя: по умолчанию

теперь ждет сообщений

тайм-аут ->

ОТКЛЮЧИТЬ

Это правильная последовательность сообщений? Я также не использую команду unsubscribe. Правильно ли это?

+0

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

ответ

1

Я решил получить прочную подписку. Правильно ли это?

Очереди долговечны по умолчанию, поэтому вам не нужно делать потребитель прочным явно.

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

BTW, на каком языке вы используете? Stomp реализация на разных языках, должна заботиться о разумных по умолчанию, так что вам не нужно беспокоиться о заголовках для CONNECT, ПОДПИСАТЬСЯ и т.д.

Я, кроме того, не используя отписки команды. Правильно ли это?

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

Я надеюсь, что это поможет вашему делу.

Смежные вопросы