Как я могу обрабатывать несколько сообщений одновременно из темы 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 а затем помещая логику в прослушиватель сообщений, чтобы только один поток обрабатывал данный идентификатор сообщения.

Ответы на вопрос(8)

Ваш ответ на вопрос