users@jersey.java.net

Jersey does not pick up _at_Provider

From: Remon van Vliet <remon_at_exmachinagames.com>
Date: Mon, 18 Oct 2010 14:09:42 +0200

Hi,

I have a GSON message writer and reader annotated as follows :

@Provider
@Singleton
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class GSONJSONProvider implements MessageBodyWriter<Object>,
MessageBodyReader<Object> {
...
}

Now, when I deploy to GF3 Jersey does see it :

INFO: Provider classes found:
  class com.exmachina.play2tv.commons.services.GSONJSONProvider

But a bit later does not consider it an appropriate option as a JSON message
writer :

SEVERE: A message body writer for Java class
com.exmachina.play2tv.service.config.dto.ServiceSettings, and Java type
class com.exmachina.play2tv.service.config.dto.ServiceSettings, and MIME
media type application/json was not found
SEVERE: The registered message body writers compatible with the MIME media
type are:
application/json ->
  com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$App
  com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$App
  com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$App
  com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$App
  com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$App
*/* ->
  com.sun.jersey.core.impl.provider.entity.FormProvider
  com.sun.jersey.core.impl.provider.entity.MimeMultipartProvider
  com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONWithPaddingProvider
  com.sun.jersey.core.impl.provider.entity.StringProvider
  com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
  com.sun.jersey.core.impl.provider.entity.FileProvider
  com.sun.jersey.core.impl.provider.entity.InputStreamProvider
  com.sun.jersey.core.impl.provider.entity.DataSourceProvider
  com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
  com.sun.jersey.core.impl.provider.entity.ReaderProvider
  com.sun.jersey.core.impl.provider.entity.DocumentProvider
  com.sun.jersey.core.impl.provider.entity.StreamingOutputProvider
  com.sun.jersey.core.impl.provider.entity.SourceProvider$SourceWriter
  com.sun.jersey.server.impl.template.ViewableMessageBodyWriter
  com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General
  com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy
  com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
  com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General

Does anyone have any idea what i'm doing wrong. The problem occurs using
Jersey 1.1.X as well as 1.4.

Regards,

Remon,