listelenir v8.0.0.x o Wink v1.1-kuluçka değiştirilmiş versiyonu kendi oluyor kullanır. {WAS_HOME}/eklentisine giderseniz, com.ibm.ws.jaxrs.jar adlı bir .jar görürsünüz. Bu eser içinde MANIFEST'i keşfederseniz, IBM'in değiştirilmiş Wink v1.1'i kullandığını ve kendi v1.1.1'ini oluşturduğunu görürsünüz. Bu sürümü kullanmak isteyeceksiniz, çünkü wink-jcdi-sunucusunu içerir. Aksi halde, EJB'lerinizi birtakım rahatsız edici problemler yaratan Wink Kaynaklarınıza enjekte edemezsiniz. Genelde satıcıya özel bir çözümle uğraşmaktan hoşlanmıyorum, ancak bu durumda IBM'in Wink uygulamasını kullanmak isteyeceksiniz. V1.2-inkübasyonundan v1.2-inkübasyona kadar wink-jcdi-server'ı geçici olarak başarılı bir şekilde geri döndürdüm (jcdi özelliğinin çalışmasını sağladım, fakat daha sonra, belirlenmiş bir neden olmadan, birkaç dağıtım daha sonra kaybettim). Öyleyse, kendinizi çok fazla hayal kırıklığına uğratın ve IMB'nin Wink uygulamasını kullanın. İster sınıf yükleyici politikasını PARENT_FIRST veya PARENT_LAST olarak ayarlamış olsanız da, IBM'in Wink uygulaması, OSGi ile ilgili bir artifakt aracılığıyla uygulamanıza maruz kalacaktır. Bunun bir hata olduğundan şüpheleniyorum. Ayrıca projenize com.ibm.ws.prereq.jaxrs.jar eser eklemeniz gerekir. IBM's own WAS v8.0 video on JAX-RS göre
<!-- 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>
, sizin Uygulama alt sınıf otomatik Uygulama sınıfı ve ApplicationPath ek açıklama uzatarak tanınan alacak:
web.xml''deki olarak
aşağıdaki yapılandırmayı kullan. Durum bu değil. Uygulama alt sınıfınızı web.xml'de belirtmeniz gerekir. Ancak, konsolun varsayılan Wink Uygulamasının kullanıldığını size söyleyeceğini fark edeceksiniz. Bu yanlış. Sınıfınız alınacak ve getClasses yöntemini geçersiz kılmanız ve Sağlayıcılarınızı, Kaynaklarınızı vb. Kaydetmeniz gerekecektir. Bu davranış WAS v8.0.0.8'den itibaren gözlemlenmiş ve kapsamlı olarak test edilmiştir.
Alternatif olarak WAS 8'de CXF'yi deneyebilirsiniz.
Geronimo ve TomEE gibi WAS, Apache ürünleri üzerine kurulmuştur. Yanlış olabilirdim, ama en son hatırladığım gibi, WAS v8.0 Apache OpenWebBeans v1.0, Apache BVal v1.0, Apache OpenJPA v2.1.2-SNAPSHOT kullanıyor. JAXB'den emin değilim, ama sanırım kendi json4j çerçevelerini kullanıyorlar. MOXy'yi şaşırtıcı derecede çok başarılı bir şekilde kullanıyorum.
için belirttiği bağlantıyla güncelleştirdim. Tüm sürümleri 'unzip -p /opt/IBM/WebSphere/AppServer/plugins/com.ibm.ws.prereq.jaxrs.jar META-INF/MANIFEST.MF' – DarVar
ile birlikte görebiliyorum CXF'yi 2017'de WAS 8'de kullandım ve işe yaradı (çünkü sen yazdın "Sen WAS 8'de CXF'yi deneyebilirsin, ama büyük olasılıkla problemlerle karşılaşırsın."_) Ama çok bilgilendirici mesaj gönderme – aliopi
@aliopi - Teşekkürler. Bilmiyorum, sanırım 8 yıl önce bir web uygulaması için CXF kullanmayı denediğimde ama bazı problemlerle karşılaştığımda sınıf yükleyicileriyle karşılaştım. CXF üzerinde çalışabileceğinizi duydum/okudum.Ödemi değiştireceğim. –