Jersey implementar ContextResolver en la primavera
Pregunta
Así que estoy escribiendo un muelle (2.5 (+ Jersey (1.1.4.1) y tratando de crear un JSONConfiguration utilizando un ContextResolver Aquí está el código:.
package com.rhigdon.jersey.config;
import com.sun.jersey.api.json.JSONConfiguration;
import com.sun.jersey.api.json.JSONJAXBContext;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import javax.xml.bind.JAXBContext;
@Provider
public final class JAXBContextResolver implements ContextResolver<JAXBContext> {
private JAXBContext context;
public JAXBContextResolver() throws Exception {
this.context = new JSONJAXBContext(JSONConfiguration.mappedJettison().build(), "com.rhigdon.core.model.");
}
public JAXBContext getContext(Class<?> aClass) {
return context;
}
}
Por desgracia mi aplicación se sigue devolviendo el mapeo por defecto:
{ "id": "1", "pregunta": "¿Cuál es / fue el nombre de su primera mascota? "}
Cuando depurar la aplicación en realidad nunca llega a este código. ¿Se debe esto a la utilización de la SpringServlet? Aquí está mi Jersey Config en mi web.xml:
<servlet>
<servlet-name>Jersey Spring Web Application</servlet-name>
<servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Spring Web Application</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
Alguien tiene una configuración similar con JSONConfiguration trabajo?
Solución
Es necesario registrar su proveedor en su contexto primavera:
<bean class="com.company.jersey.config.JAXBContextResolver"/>
O, si está utilizando la configuración basada en anotación, necesita anotar su clase de proveedor con @Component
e incluir algo así como
<context:annotation-config />
<context:component-scan base-package="com.company.jersey" />
para la configuración de su contexto de aplicación.
Otros consejos
Estoy usando Jersey de la versión 1.10 y no tengo la anotación @Component ni la definición de frijol, y funciona sin él.
Jersey resto servicio
com.sun.jersey.spi.spring.container.servlet.SpringServlet
com.sun.jersey.config.property.packages
ca.gc.cbsa.ezfw.foundation.webservice
1 |