ApacheCamel调度到本地JaxRs资源实现



我有一个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,它复制注释中的逻辑,并手动分派到类和方法。尤其是CCD_ 2和CCD_。

我尝试过:

  • to("bean:MyJaxRsImplemantion")这将适用于具有匹配camel交换中参数的单个方法的bean,但不考虑jax-rs注释。

  • 服务器与to("cxfrs:bean:cxfEndpoint?resourceClasses=MyJaxRsImplemantion")的组合。它要么需要一个转发地址,要么作用于创建camel交换的新端点。我找不到调用实际实现的方法。

  • ProduceTemplate似乎都能处理单一的路径或情况。

问题:

如何编写一个实际调用jax-rs资源方法而不转发到新服务的骆驼路由?

这实际上是一个非常棘手的问题。首先,即使你在谷歌上搜索,你也不会得到任何直接的答案。在经历了漫长的网络冲浪之后,骆驼路线通过转发到一个新的服务来调用jx-rs资源方法,这感觉就像是当地的规律。是的,to("bean:MyJxRsImplemantion")被设计为忽略jax-rs注释。所以我决定这是不可能的。很抱歉

最新更新