Для текущего проекта я пытаюсь настроить следующий сценарий с JBoss 7.1 и HornetQ (JMS), который, по моему мнению, является довольно распространенным случаем: существует три сервера приложений. Ряд MDB должен обрабатывать фрагментированный фрагмент длинного процесса вычисления, задачи должны распределяться между тремя серверами. Когда один фрагмент завершен и соответствующий результат готов, результат должен быть отправлен в распределенную очередь, откуда он будет потребляться, и общий результат будет собран. Чтобы избежать условий гонки во время общей сборки результата, очередь результатов должна обрабатываться последовательно, хотя она может быть распределена между несколькими серверами. Никакое сообщение в очереди результатов не может быть обработано, пока еще не выполняется другое сообщение. Административное ограничение заключается в том, что потребители (MDB или сеансовые компоненты), потребляющие сообщения из очереди результатов, могут быть развернуты на всех узлах кластера, то есть EAR, развернутый на узлах кластера, идентичен. В этом случае один и тот же потребительский код будет развернут на каждом из узлов. Есть ли еще способ синхронизации доступа к очереди?HornetQ: последовательное распределение распределенной очереди
ответ
Я не совсем понимаю ваш случай использования, но, похоже, вам нужна группировка сообщений.
http://docs.jboss.org/hornetq/2.4.0.beta1/docs/user-manual/html/message-grouping.html
если вы размещаете редактировать свои вопросы с чем-то простым, я могу понять, не рыть на вашем TestCase я могу быть в состоянии добавить дополнительную информацию к этому ответу.
Вы также говорили о длительном процессе. что звучит так, что у вас могут быть буферизация клиентов. взгляните на лечение медленных потребителей, установив размер user-window-size = 0 на сервереLocator.
этот пример здесь на hornetq пример того, как это может быть достигнуто:
Благодарим вас, что группировка сообщений, по-видимому, является способом выхода. Из проблемы буферизации клиента я уже знал. –
- 1. Последовательное распределение памяти
- 2. Jboss Hornetq: очереди против JMS-очереди
- 3. Селектор очереди с пружиной HornetQ
- 4. переместите сообщение hornetq из очереди в другую, не читая его.
- 5. JNDI lookup зависает в примере очереди HornetQ
- 6. hornetq гарантирует, что сообщение достигло очереди
- 7. hornetq сообщения остается в очереди после ACK
- 8. ПРИСТУПАЯ очереди HornetQ список из Java кода
- 9. Как указать распределение maven в распределенной организации?
- 10. Распределение стратегий для объектов очереди
- 11. Использовать случаи распределенной очереди на веб-сервере?
- 12. Монитор HornetQ
- 13. JBoss EAP6 + HornetQ - Не знаю, как создать подключение очереди к HornetQ
- 14. Настройка очереди ядра Hornetq в Jboss standalone-full.xml
- 15. Jboss с очереди JMS на автономном компьютере Hornetq
- 16. Настроить hornetq на Wildfly8 для отправки сообщений в очереди JMS
- 17. Проверка наличия очереди в HornetQ через JMS API
- 18. Как рассчитать распределение (Гистограмма) большого объема данных в распределенной системе?
- 19. hornetq - просмотр доступных очередей
- 20. Топологии кластеризации HornetQ
- 21. Использование автономного сервера HornetQ
- 22. Как мы можем установить последовательное выполнение очереди служебной шины azure ..?
- 23. очереди сообщений GUI (сообщение насоса - параллельное или последовательное)
- 24. Счетчик сообщений с jms Hornetq
- 25. Может ли hasoop использоваться как сервер распределенной очереди?
- 26. Все сообщения JMS из распределенной очереди по кластеру
- 27. Как работает последовательное хеширование?
- 28. hornetq Consumer Control Flow
- 29. JMS-HornetQ JBoss конфигурации AS6
- 30. Последовательное отображение нескольких диалогов
Я не уверен, что вы хотите достичь здесь .. вы не хотите что-нибудь, чтобы потреблять в то время как первый из них является потребляя? Вы либо используете группировку сообщений, либо сохраняете одного потребителя. Сообщения являются асинхронными по своей природе. Кажется, вы хотите нарушить концепцию? –