에 나열된 v8.0.0.x는 윙크 1.1 - 잠복기의 수정 된 버전을 가지고있어 사용합니다. {WAS_HOME}/plugins로 이동하면 com.ibm.ws.jaxrs.jar이라는 .jar이 표시됩니다. 해당 artifact 내에서 MANIFEST를 탐색하면 IBM이 Wink v1.1-incubate를 수정하고 자신의 v1.1.1을 생성 한 것을 볼 수 있습니다. wink-jcdi-server가 통합되어 있으므로이 버전을 사용하고 싶을 것입니다. 그렇지 않으면 EJB를 윙크 리소스에 삽입 할 수 없으므로 여러 가지 문제가 발생합니다. 필자는 일반적으로 공급 업체별 솔루션을 다루는 것을 좋아하지 않지만이 경우 IBM의 Wink 구현을 사용하려고합니다. 저는 v1.2에서 v1.1로 잠복하여 일시적인 성공으로 잠복 해 버린 wink-jcdi 서버를 백 포트했습니다 (jcdi 기능을 사용할 수는 있지만 결정된 근본 원인이 없으면 나중에 몇 가지 배포가 손실 됨). 그래서, 좌절의 톤을 저장하고 IMB의 Wink 구현을 사용하십시오. IBM의 윙크 구현은 클래스 로더 정책을 PARENT_FIRST 또는 PARENT_LAST로 설정했는지 여부에 관계없이 OSGi 관련 아티팩트를 통해 앱에 노출됩니다. 그게 벌레 인 것 같아. 또한 프로젝트에 com.ibm.ws.prereq.jaxrs.jar 아티팩트도 포함시켜야합니다. IBM's own WAS v8.0 video on JAX-RS에 따르면
<!-- Wink Servlet -->
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.ibm.websphere.jaxrs.server.IBMRestServlet</servlet-class>
<init-param>
<param-name>javax.ws.rs.Application</param-name>
<param-value>com.company.webservices.config.WinkApplication</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<enabled>true</enabled>
<async-supported>false</async-supported>
</servlet>
<!-- Wink Servlet Mapping -->
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/resources/*</url-pattern>
</servlet-mapping>
, 응용 프로그램 서브 클래스가 자동으로 응용 프로그램 클래스와 ApplicationPath 인자 주석을 확장하여 인정받을 것이다 :
web.xml에
는 다음과 같은 설정을 사용합니다. 그렇지 않다. web.xml에 Application 하위 클래스를 지정해야합니다. 그러나 콘솔에 기본 Wink Application이 사용되었다는 메시지가 표시됩니다. 이것은 거짓입니다. 클래스가 선택되면 getClasses 메소드를 대체하고 제공자, 자원 등을 등록해야합니다.이 동작은 WAS v8.0.0.8에서 관측되고 철저하게 테스트되었습니다.
WAS 8에서 CXF를 사용할 수 있습니다.
Geronimo 및 TomEE와 마찬가지로 WAS는 Apache 제품을 기반으로합니다. 나는 틀릴 수도 있지만, WAS v8.0은 Apache OpenWebBeans v1.0, Apache BVal v1.0, Apache OpenJPA v2.1.2-SNAPSHOT을 사용합니다. JAXB에 대해서는 잘 모르겠지만, 그들 자신의 json4j 프레임 워크를 사용한다고 생각합니다. 놀라 울 정도로 많은 성공을 거둔 MOXy를 사용합니다.
감사합니다. 'unzip -p /opt/IBM/WebSphere/AppServer/plugins/com.ibm.ws.prereq.jaxrs.jar META-INF/MANIFEST.MF'를 사용하여 모든 버전을 볼 수 있습니다. – DarVar
WAS 8에서 2017의 CXF를 사용했습니다. WAS 8에서 CXF를 시도해 볼 수는 있지만 문제가 발생할 가능성이 큽니다."_) 그러나 매우 유익한 게시 – aliopi
@aliopi - 고마워. 좋은 점 알고 싶다 .8 년 전에 WAS에서 웹 애플리케이션 용 CXF를 사용할 때 클래스 로더 문제가 발생했지만 몇 가지 문제가 발생했다. CXF가 그것에 대해 작업 할 수 있다고 들었습니다. 내 대답을 편집 할 것입니다. –