Как я могу обрабатывать несколько сообщений одновременно из темы JMS (не очереди) с Java и Spring 3.0?
Обратите внимание, что я хотел бы, чтобы несколько слушателей сообщений обрабатывали последовательные сообщения из темы одновременно. Кроме того, я бы хотел, чтобы каждый прослушиватель сообщений работал транзакционно, чтобы сбой обработки в данном прослушивателе сообщений приводил к тому, что сообщения этого прослушивателя оставались в теме.
Весенний DefaultMessageListenerContainer, кажется, поддерживает параллелизм только для очередей JMS.
Нужно ли создавать несколько экземпляров DefaultMessageListenerContainers?
Если время течет вниз по вертикальной оси:
ListenerA reads msg 1 ListenerB reads msg 2 ListenerC reads msg 3
ListenerA reads msg 4 ListenerB reads msg 5 ListenerC reads msg 6
ListenerA reads msg 7 ListenerB reads msg 8 ListenerC reads msg 9
ListenerA reads msg 10 ListenerB reads msg 11 ListenerC reads msg 12
...
ОБНОВИТЬ:
Спасибо за ваши отзывы @ T.Rob и @skaffman.
Я закончил тем, что создал несколькоDefaultMessageListenerContainers
сconcurrency=1
а затем помещая логику в прослушиватель сообщений, чтобы только один поток обрабатывал данный идентификатор сообщения.