Camel 不赞成使用的组件cxfbean

qcuzuvrc  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(177)

我是camel的新手,我正在将camel 2.x应用程序迁移到camel 3.x。我发现cxfbean方案在版本3中被弃用并删除。我搜索了迁移文档,但没有看到任何相关内容。
在HelloService只是休息端点的情况下,迁移的最佳方式是什么?

<bean id="helloService" class="com.acme.HelloService"/>

  <camel:camelContext>
      <camel:route>
        <camel:from uri="jetty:http://localhost:9000?matchOnUriPrefix=true"></camel:from>
        <camel:to uri="cxfbean://helloService"></camel:to>
      </camel:route>
  </camel:camelContext>
5tmbdcev

5tmbdcev1#

我也遇到了同样的问题,最后我采取了以下步骤
1.请使用“bean:您服务bean名称”,
1.如果您的服务有有限的方法,您可以在最后添加?methodname=xxx(如果您愿意),例如
到(“Bean:您的服务Bean名称?方法名称=xxx”)
或者如果要Map的方法太多,则可以按处理器设置“CamelBeanMethodName”,

.process(exchange -> exchange.getIn().setHeader("CamelBeanMethodName", exchange.getIn().getHeader("operationName")))

则camel将为您调用bean的方法
1.关于方法参数,如果camel不能正确Map,需要在rs服务bean或者接口方法参数上加上@Header或者@Body注解,
1.如果您希望拥有自己jsonMap器,在Spring中只需创建一个ObjectMapper类型的@bean,camel将使用它进行编组和解组
参考Bean::Apache camel 3

相关问题