code

Jersey, Apache Wink 및 JBoss RESTEasy 중에서 선택하는 방법은 무엇입니까?

codestyles 2020. 10. 19. 08:06
반응형

Jersey, Apache Wink 및 JBoss RESTEasy 중에서 선택하는 방법은 무엇입니까?


방금 Apache Wink 에 대해 들었고 Jersey 또는 JBoss RESTEasy 와 비교했을 때 어떤 차이점이 있는지 궁금합니다 . 다른 두 사람이 할 수없는 하나에서 무엇을 할 수 있습니까?

우리는 주로 단순성을 위해 일부 내부 프로젝트에 Jersey를 사용해 왔지만, 전환을 고려할 때이 다른 두 가지를 더 좋게 만드는 것이 무엇인지 실제로 파악할 수 없습니다. 누구든지 이러한 각각의 틈새 시장에 대한 사용 사례가 있습니까?


JAX-RS 구현

저지

  • 참조 구현
  • 일반적으로 가장 최첨단
  • Atmosphere 또는 2.0 버전을 통해 진정한 비동기 (예 : 웹 소켓 등) 연결을 지원합니다 .
  • Spring 및 표준 주입 컨테이너 (예 : @Inject)를 지원합니다.
  • Glassfish가 번들로 제공합니다.
  • 다른 JAX-RS 프로젝트보다 훨씬 모듈 식입니다.
  • 킥 엉덩이 URI 빌더가 있습니다.
  • 서블릿 컨테이너가 반드시 필요하지는 않습니다.
  • 그리즐리 지원
  • Netty 지원 (초기).
  • Swagger 지원
  • OAuth 2.0이 누락되었습니다. 다른 라이브러리를 사용해야합니다.
  • 보기 가능 항목을 통한 일부 MVC 지원
  • java.net에서 호스팅됩니다 (사이트가 매우 느리기 때문에 마이너스).
  • 라이선스는 CCDL 1.1 및 GPL-v2를 기반으로합니다. 상업용으로 사용하기 전에 Jersey 라이선스를 확인하십시오.

https://jersey.github.io/license.html

RestEasy

Apache Wink (사용하지 않음)

  • 이 프로젝트가 왜 존재하는지 모르겠습니다.
  • 아마도 고성능에 중점을 두었습니다.
  • HttpUrlConnection 위에 구축 된 클라이언트가 있습니다 (마이너스입니다 ... Spring RestTemplate 처럼 플러그 가능해야합니다 ).
  • 기본적으로 Wink는 일부 기업 회사에서 자체 개발 한 후 Apache에 제공되었습니다.
  • 서블릿 컨테이너가 필요합니다.

Restlet

  • 매우 강력하지만 매우 복잡합니다.
  • 낮은 수준의 REST 지원을 제공합니다.
  • 서블릿 컨테이너가 필요하지 않습니다.

Apache CXF

  • 흥미로운 WADL 지원.
  • JAX-WS와 함께 JAX-RS 재사용 및 또는 결합
  • 보안 지원
  • 다소 불쾌하지만 Spring과의 통합
  • 클라이언트 스텁의 자동 생성 가정

기타 RPC 유사 시스템

메시지 대기열

비동기 RPC

내 겸손한 의견

OP가 REST를 요청한 것을 알고 있지만 이것이 내부 통신을위한 것이라면 요구 사항이 해당 시스템과 일치하는 경우 기존 REST 대신 메시지 큐 또는 다른 비동기 RPC (Finagle)를 사용하는 것이 좋습니다.

클래식 HTTP REST (외부) 여야한다면 RestEasy 또는 Jersey 중 하나를 선택할 것 입니다.이 두 프로젝트에 많은 마인드 쉐어가 들어가기 때문입니다.

참조 : Java 용 나머지 클라이언트?


사용할 구현을 선택할 때이 점을 염두에 두십시오. Jersey 웹 서비스를 JBOSS 7.1에 배포하려고하면 작동하지 않습니다. 이 오류가 발생합니다.

Only one JAX-RS Application Class allowed

This is because REST Easy comes bundled with JBOSS as the default JAX-RS implementation. So, JBOSS will decide that that's the implementation you want to use and will not load another JAX-RS implementation (like Jersey). In order to fix this, you need to add the following lines to your web.xml file:

  <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>

Link: https://community.jboss.org/message/744530


One of my favourite Jersey extensions is Viewables. Viewables allow you to bind your data easily to a JSP page to implement a true Model-View-Controller (MVC) architecture:


If you're going to use JBoss 7.x you must use RestEasy, 'cause it's integrated in JBoss. To use Jersey with JBoss 7.x, you have to disable RestEasy and it is complicated!

참고URL : https://stackoverflow.com/questions/3459795/how-to-choose-between-jersey-apache-wink-and-jboss-resteasy

반응형