我有一个camel 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")
这将适用于具有与camel交换中的参数匹配的单个方法的bean,但不考虑jax-rs注解。- 与
to("cxfrs:bean:cxfEndpoint?resourceClasses=MyJaxRsImplemantion")
的几个组合。它要么需要一个转发地址,要么作用于一个新的端点,创建camel交换。我找不到一种方法来调用实际的实现。 - ProduceTemplates似乎都能处理单一路径或情况。
问题:
我如何编写一个实际调用jax-rs资源方法而不转发到新服务的camel路由?
1条答案
按热度按时间2w2cym1i1#
这实际上是一个非常坚韧的问题。首先,即使你在谷歌上搜索,你也不会得到任何直接的答案。在浏览了无数次网页之后,感觉就像是 Camel 路线通过转发到一个新的服务来调用jx-rs资源方法一样。是的,这几乎就像是
to("bean:MyJxRsImplemantion")
被设计成忽略jax-rs注解一样。所以我决定这是不可能的。抱歉。