Какой самый простой способ получить только первое сообщение из очереди?Apache camel: фильтр/дроссель, чтобы получить только первое сообщение из очереди
Учитывая, что в заголовке нет ничего, что можно было бы фильтровать (без порядковых номеров и т. П., По крайней мере, насколько я могу видеть), есть ли что-нибудь лучше этого?
from("webspheremq:topic:SNAPSHOTS")
.throttle(1).timePeriodMillis(1234567890L * 1000)
.to("direct:anotherqueue")
Предпочитают верблюжьих DSL над фасолью + код Java :)
Редактировать
фактически читает от webspheremq темы.
Edit2
не используют Long.MAX_VALUE
как период времени! Попробуйте 1234567890L * 1000 вместо
Мне любопытно использовать прецедент? –
Вариант использования - это то, что в очереди получено большое сообщение (моментальный снимок данных) (ну, собственно, это тема). Другие пользователи, запрашивающие моментальный снимок, могут инициировать другой снимок, который будет отправлен всем потребителям. Странное поведение, но я должен справиться с этим таким образом :) – vikingsteve