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.