У меня есть конечная точка cxf-rs верблюда, которая разбивает запросы на две основные части.
form("cxfrs:bean:rsServer")
.when(isForward()).to("cxfrs:http://example.com")
.otherwise().process(myCustomDispatcher) // i want to get rid of this custom dispatcher
Первая часть напрямую перенаправляется в другой сервис.
Для второй части я хотел бы отправить/вызвать классы/методы, которые имеют аннотацию jaxrs. В настоящее время у меня есть собственный процессор myCustomerDispatcher
, который дублирует логику из аннотаций и вручную отправляет классы и методы. Особенно дублируются @Path
и @PathParams
.
Я пытался:
to("bean:MyJaxRsImplemantion")
это будет работать для bean-компонентов с одним методом, соответствующим параметрам в обмене верблюдами, но не учитывает аннотации jax-rs.Несколько комбинаций с
to("cxfrs:bean:cxfEndpoint?resourceClasses=MyJaxRsImplemantion")
. он либо требует адрес пересылки, либо действует как новая конечная точка, создавая верблюжьи обмены. Я не мог найти способ вызвать фактическую реализацию.Кажется, что все ProduceTemplates обрабатывают отдельные пути или ситуации.
Вопрос:
Как я могу написать верблюжий маршрут, который фактически вызывает методы ресурсов jax-rs без переадресации на новую службу?