Just some thoughts:
Can you remove @Singleton annotation and try again?
or isn't in the log another mention of your provider?
Can you please try jersey version 1.5? There were some fixes related to
this area.. or if you can and want, please send reproducible testcase.
Thanks,
Pavel
On 10/18/10 2:09 PM, Remon van Vliet wrote:
> 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,