Вы должны попытаться отделить технические аспекты, такие как маршрутизация или фильтрация, от бизнес-логики.
Итак, самая важная часть - не смешивать их в одном классе. Разделять их на отдельные единицы развертывания может иметь смысл, но это менее важно.
Camel может очень хорошо использоваться для реализации "bean-компонентов, управляемых сообщениями". Просто определите свои структуры данных, используя аннотации pojos + JAXB, или сгенерируйте их из XSD. Затем вы можете использовать верблюжий обмен сообщениями pojo, чтобы подключить их к конечным точкам http, jms или даже файла.
См. http://www.liquid -reality.de / x / NoBe
Когда вы работаете в OSGi, очевидным выбором является предложение ваших услуг в качестве сервисов OSGi. Верблюд может затем использоваться в отдельном комплекте для подключения этих услуг к транспортам. Таким образом, вы можете сделать свои услуги полностью простыми.
Вы также можете использовать CXF для предоставления своих услуг в качестве сервисов SOAP или остальных ресурсов. Я предпочитаю XML, а не JMS с верблюдом, так как он более легкий и обладает некоторыми преимуществами в отношении высокой доступности и балансировки нагрузки благодаря jms.