繁体   English   中英

Apache CXF/JAX-RS、Felix 和 Jetty

[英]Apache CXF/JAX-RS, Felix and Jetty

我有一组现有的捆绑包,它们一起创建了一个 Web 应用程序(包括一个 Jetty 实例)。 一个新需求是扩展此应用程序以提供 RESTful api(使用 JAX-RS)。

我能够独立开发大部分 RESTful API,远离应用程序的其余部分。 不知不觉中,我使用的 Apache CXF 包包含它自己的 Jetty 实例。 所以,孤立地看,这工作得很好。 当我合并应用程序的两半时,两个实例的地址发生冲突。

这一点我肯定知道。

我不知道如何重新配置​​应用程序 (JAX-RS) 的 RESTful API 部分以使用现有的 Jetty 实例。 此页面建议使用 CXFServlet,但我找不到关于此的太多信息。

任何人都可以阐明或指出我正确的方向吗?

编辑:我还应该提到,目前,我的端点使用 Java 接口中的 JAX-RS 注释在端点和映射类之间进行映射。 我更愿意保留这种配置方法,而不是 XML 或任何其他方法。

一种不使用 Apache CXF 的选项是使用 Amdatu 的 Web 组件,它也支持 JAX-RS 注释。 您可以在http://amdatu.org/components/web.html找到更多关于它们的文档,其中解释了如何使用单独的 Jetty 实例设置您的项目。 您可能还想在http://amdatu.org/howto/createwebapp.html观看处理相同主题的视频。

如果您真的想使用 Apache CXF,有两个版本:一个几乎是独立的(因此也包括 Jetty)的“一体化”版本和一个由许多独立包组成的“模块化”版本。 后者理论上为您提供了与您自己的 Jetty 副本集成的选项,但您需要根据http://cxf.apache.org/docs/index.html上的文档确定您需要的确切捆绑包集

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM