我刚听说Apache Wink,我想知道它与Jersey或JBoss RESTEasy相比有什么不同。有什么可以做其他两个做不到的?
我们一直将 Jersey 用于我们的一些内部项目,主要是因为它很简单,但我真的不知道是什么让另外两个更好,我会考虑切换。有没有人有任何用例来满足每个细分市场的需求?
我刚听说Apache Wink,我想知道它与Jersey或JBoss RESTEasy相比有什么不同。有什么可以做其他两个做不到的?
我们一直将 Jersey 用于我们的一些内部项目,主要是因为它很简单,但我真的不知道是什么让另外两个更好,我会考虑切换。有没有人有任何用例来满足每个细分市场的需求?
https://jersey.github.io/license.html
我知道 OP 要求使用 REST,但如果这是为了内部通信,请认真考虑使用消息队列或其他异步 RPC(Finagle)而不是传统的 REST(如果您的要求与这些系统匹配)。
如果它必须是经典的 HTTP REST(外部),我会在RestEasy或Jersey之间进行选择,因为大部分精力都投入到这两个项目中。
另请参阅:Java 的 Rest 客户端?
在选择要使用的实现时请记住:如果您尝试将 Jersey Web 服务部署到 JBOSS 7.1,它将无法工作。会出现这个错误:
Only one JAX-RS Application Class allowed
这是因为 REST Easy 与 JBOSS 捆绑在一起作为默认的 JAX-RS 实现。因此,JBOSS 将决定这是您要使用的实现,并且不会加载另一个 JAX-RS 实现(如 Jersey)。为了解决这个问题,您需要将以下行添加到您的 web.xml 文件中:
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan.providers</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>resteasy.scan.resources</param-name>
<param-value>false</param-value>
</context-param>
我最喜欢的Jersey扩展之一是 Viewables。可视化允许您轻松地将数据绑定到 JSP 页面以实现真正的模型-视图-控制器 (MVC) 架构:
如果要使用 JBoss 7.x,则必须使用 RestEasy,因为它已集成在 JBoss 中。要将 Jersey 与 JBoss 7.x 一起使用,您必须禁用 RestEasy,这很复杂!