Есть куча архитектурных вопросов, заданных вашим вопросом. Вы хотите, чтобы этот слушатель mesasge сделал работу или передал ее другому компоненту? Есть ли транзакционные соображения в игре? У вас есть ограничения памяти - то есть вы хотите потоковую обработку XML или нет? Do
Хорошая новость заключается в том, что у вас есть множество кусочков этой головоломки, доступных вам в Spring.
Простой следующий шаг - использовать Spring Object XML Marshalling (OXM), выбрать один из методов и подключить маршаллер к вашему бину слушателя.
См. http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/oxm.html
Другой метод - использовать интерфейс Spring ApplicationEvent, читать сообщения, поступающие из очереди, и публиковать их внутри для слушателей определенных типов. Это можно использовать в сочетании с указанным выше распределением объектов.
И последнее, но не менее важное: если это веб-службы SOAP - вы можете взглянуть на Spring WS, он использует аналогичные контейнеры сообщений для извлечения сообщений из сети, их маршалинга и вызова конечной точки ws (то есть интерфейс службы, который удовлетворяет этому контракту интерфейса).
http://static.springsource.org/spring-ws/sites/2.0/reference/html/server.html#d4e907