Шаблон для проверки возможности обработки сообщения в очереди. - PullRequest
0 голосов
/ 27 мая 2011

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

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

Существует ли программный шаблон для реализации таких «проверок на устаревание»? Кто-то упомянул что-то о шаблоне мертвой улитки, но я не могу найти никаких ссылок в Google ...

1 Ответ

0 голосов
/ 16 июня 2011

Здесь на самом деле нет модели, потому что концепция, вероятно, слишком специфична для конкретной ситуации.

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

Согласно комментарию @ Space_C0wb0y к OP, для этого может использоваться простой таймер истечения срока действия или другой таймер истечения, или это может быть какая-то другая более сложная проверка в соответствующей точке линии.

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

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

...