jersey websphere jax-rs

Soporte JAX-RS Jersey 2.10 en Websphere 8



(1)

Necesitas hacer los siguientes pasos:

Deshabilite el JAX-RS incorporado a través de la propiedad JVM com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine=true vea la descripción here .
Puede establecer esta propiedad a través de la consola de administración web en Servers > WebSphere Application Servers > yourServerName . Luego, en la sección Server Infrastructure Java and Process Management > Process definition > Java Virtual Machine > Custom properties .

Cree una biblioteca compartida aislada con todas las bibliotecas JAX-RS 2.10, en la consola a través de Environment > Shared Libraries .

La biblioteca compartida aislada se crea a través de la verificación Use an isolated class loader for this shared library opción de carga de clases de la Use an isolated class loader for this shared library , al crear la biblioteca.

Asigne esta biblioteca compartida a su aplicación, ya sea durante la instalación o más adelante, a través de Applications > appName > Shared library references .

Reinicie el servidor de aplicaciones. En el SystemOut.log debería ver el mensaje inicializando las clases de JAX-RS:

[7/12/14 16:10:36:470 CEST] 0000004a JerseyServlet I Registering the Jersey servlet application, named javax.ws.rs.core.Application, with the following root resource and provider classes: [class jax.Hello, class org.glassfish.jersey.server.wadl.internal.WadlResource] [7/12/14 16:10:36:688 CEST] 0000004a ApplicationHa I Initiating Jersey application, version Jersey: 2.10.1 2014-06-30 13:53:32...

ACTUALIZAR

Parece que también es posible cargar los archivos JAX-RS desde el WAR. DisableIBMJAXRSEngine establecer esta propiedad DisableIBMJAXRSEngine y debe cambiar la opción de carga de clases en el cargador de Classes loaded with local class loader first (parent last) del módulo (no en el nivel EAR) a Classes loaded with local class loader first (parent last)

En la consola de administración:

Aplicaciones> Aplicaciones de WebSphere Enterprise> {su.aplicación}> Administrar módulos> {su.módulo}

Cambie el menú desplegable Orden de cargador de Classes loaded with local class loader first (parent last) a: Classes loaded with local class loader first (parent last) .

Gracias por dooffas por revisarlo, vea JAX-RS 2.0 WebSphere 8.5 sin una biblioteca compartida aislada

Estoy tratando de usar Jersey 2.10 en Websphere 8 pero intenta hacer referencia a la aplicación que es una implementación de JAX-RS 1.1 (guiño predeterminado). Obtengo este error a continuación, aunque deshabilité el valor predeterminado de JAX-RS configurando la propiedad de IBM.

Causado por: java.lang.NoSuchMethodError: javax / ws / rs / core / Application.getProperties () Ljava / util / Map; en org.glassfish.jersey.server.ApplicationHandler. (ApplicationHandler.java:287) en org.glassfish.jersey.servlet.WebComponent. (WebComponent.java:311)

Leí una publicación que dice hacer una política de carga de clases a PARENT_LAST. El cambio de esa opción se deshabilitó en la consola WAS, así que intenté usar la (Configuración de publicación para WAS - Ejecutar servidor con recursos en el servidor) y mi servidor se bloqueó.

Por favor avise. Gracias.