【问题标题】:Apache CXF/JAX-RS, Felix and JettyApache CXF/JAX-RS、Felix 和 Jetty
【发布时间】:2013-12-18 07:54:48
【问题描述】:

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

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

这我肯定知道。

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

谁能给我一些启示或指出正确的方向?

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

【问题讨论】:

    标签: java jax-rs cxf apache-felix


    【解决方案1】:

    不使用 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 的文档确定您需要的确切捆绑包集。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多