我刚刚听说过Apache Wink,我想知道它与Jersey或JBoss RESTEasy有什么不同。在其他两个不能做的事情中可以做些什么?
我们一直在使用Jersey进行一些内部项目,主要是因为它的简单性,但我无法弄清楚是什么让其他两个更好,我会考虑切换。有没有人有任何使用案例,其中每个填充利基?
答案 0 :(得分:113)
https://jersey.github.io/license.html
我知道OP要求REST,但是如果这是内部通信,请认真考虑使用消息队列或其他异步RPC(Finagle)而不是传统的REST,如果您的要求与这些系统匹配。
如果它必须是经典的HTTP REST(外部),我会在 RestEasy 或 Jersey 之间进行选择,因为大部分心智份额都会被放入这两个项目中。< / p>
答案 1 :(得分:15)
选择要使用的实现时请记住:如果您尝试将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>
答案 2 :(得分:5)
我最喜欢的Jersey扩展程序之一是Viewables。 Viewables允许您轻松地将数据绑定到JSP页面,以实现真正的模型 - 视图 - 控制器(MVC)架构:
答案 3 :(得分:0)
如果你打算使用JBoss 7.x,你必须使用RestEasy,因为它集成在JBoss中。要在JBoss 7.x中使用Jersey,你必须禁用RestEasy,这很复杂!