Есть несколько способов, которыми это может быть реализовано, но если вы хотите сделать это через JMS, то я думаю, что самый простой и простой способ сделать это будет:
- Отправить сообщение в очередь для каждой записи в вашем XML; Назовите это
workQueue
.
- Потребитель (или пул потребителей, это может быть MDB) будет принимать сообщения от
workQueue
и обрабатывать их
- Как только потребитель завершит обработку сообщения, он поместит сообщение в другую очередь, указывая, что оно было завершено; назовите это
resultsQueue
.
- Исходный отправитель мог прослушать
resultsQueue
и обновить клиента о том, какие записи были (или не были) обработаны.
Одно сообщение JMS на каждую запись XML довольно детально, поэтому вы можете объединить несколько записей XML в одно сообщение JMS, чтобы увеличить пропускную способность, если вы обнаружите, что производительность не соответствует вашим требованиям.