Как получить только последнее сообщение в группе в Apache ActiveMQ? - PullRequest
0 голосов
/ 11 ноября 2018

Сценарий: Пользователи проходят длинный тест. Я сохраняю текущий счет и местоположение в викторине после каждого взаимодействия. Я хочу сохранить в БД только то последнее взаимодействие, которое пользователь сделал во время текущего запуска.

Прямо сейчас я достигаю этого через Redis, каждый раз, когда я сохраняю последнее взаимодействие, я перезаписываю предыдущее.

Может ли это быть достигнуто с помощью Apache ActiveMQ 5.x, где каждый пользователь может группировать свои сообщения, а я использую только последнее сообщение, полученное в группе?

1 Ответ

0 голосов
/ 11 ноября 2018

Я не знаю ни одного автоматизированного способа сделать это в ActiveMQ 5.x, но вы можете сделать это с ActiveMQ Artemis , используя очередь "последнего значения" . Эта функция позволяет вам установить специальное свойство для сообщения на определенное значение, и каждый раз, когда другое сообщение с тем же значением свойства поступает в очередь, оно заменяет предыдущее.

Для ясности, Artemis имеет поддержку обратной совместимости для клиентов ActiveMQ 5.x (которые используют протокол OpenWire).

...