Hi,
I activate resteasy with the simple Application extension class:
@ApplicationPath("/rest")
public class JaxRsActivator extends Application {
}
Everything works ok. But when I add resteasy jackson provider:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson-provider</artifactId>
<version>2.2.2.GA</version>
</dependency>
... I get the following exception:
java.lang.RuntimeException: Illegal to inject a message body into a
singleton into public
org.codehaus.jackson.jaxrs.JacksonJsonProvider(org.codehaus.jackson.map.ObjectMapper,org.codehaus.jackson.jaxrs.Annotations[])
I can solve the problem by overriding the getSingletons() method in my
JaxRsActivator class:
@Override
public Set<Object> getSingletons() {
return Collections.<Object> singleton(new
JacksonJaxbJsonProvider());
}
But then the rest provider class scanning stops working and I get the
following error:
*Could not find resource for relative : /users of full path:
https://localhost:8443/sample/rest/users*
So now I have to manually register all the rest providers via overriding the
getClasses() method:
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<Class<?>>();
classes.add(UserResourceRESTService.class);
return classes;
}
Is there a way to use JacksonJaxbJsonProvider while still maintaining the
scanning ability?
Btw, I don't use web.xml file. Should I?
------------------------------------------------------------------------------
The demand for IT networking professionals continues to grow, and the
demand for specialized networking skills is growing even more rapidly.
Take a complimentary Learning@Cisco Self-Assessment and learn
about Cisco certifications, training, and career opportunities.
http://p.sf.net/sfu/cisco-dev2dev
_______________________________________________
Resteasy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/resteasy-users