Брокер сообщения использовал RabbitMQ - запуск через Erlang, но можно и через embedded (но только linux). Загрузка XML сделал через templay - или файлом или строкой. Таблицы БД создаются автоматически схемой. Все операции с XML и Json через Jackson. CRUD реализовал только save.