我刚听说过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。Viewables允许您将数据轻松地绑定到JSP页面上,以实现真正的模型-视图-控制器(MVC)架构: