2013-08-14 24 views
5

Websphere'i anlıyorum 8.0.0.6 JAX-RS 1.1 için Apache Wink uygulamasını kullanıyor.WebScanında JAX-RS uygulaması 8.0.0.6

Sadece Apache Wink'in hangi sürümünü kullandığını merak ediyorum?

Ayrıca, eğer Apache CXF'yi kullanmam gerekirse, CXF kavanozlarını savaşımla birleştirir miyim? ALso

neyi uygulamaları CDI (Kaynak 2.x ??), Fasulye Doğrulama (??), JPA için (??) JAXB (??) vb ..

cevap

6

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.

+0

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

+0

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

+0

@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. –

1

Websphere 8.0.0.6 kullanımını yapar Sen WAS_HOME/bin dizininde bulunan versionInfo komut dosyasını çalıştırarak bileşen sürümleri hakkında ayrıntılı rapor alabilir. Linux için Örneğin,:

./versionInfo.sh -file versionReport.txt -maintenancePackages -componentDetail 

Şartname versiyonları WAS Specifications and API documentation

+0

Sürüm raporunu aldınız ancak desteklenen JEE6 uygulamaları veya özellikleriyle ilgili herhangi bir ayrıntı vermiyor mu? – DarVar

+0

Elimde WAS 8.0 yok. WAS 7.0 JAXB sürümü ile örneğin bundle.fp.jaxb bileşeni olarak yansıtılır. Yanıtı, tüm özelliklerin WAS 8.0 – fnt