XStream no se puede utilizar en el Google App Engine

abril 4, 2010

En un proyecto queria utilizar la libreria XStream para serializar unos objetos en el formato JSON mediante un Servlet en el Google App Engine(GAE). Despues de haber agregado las referencias y creado el codigo para hacer esto, no podia “debuguear” mi codigo, simplemente no se detenia en los breakpoints que habia configurado (lo peor de todo es que no me aparecia ningun mensaje de error en la consola). Intente reiniciar el Eclipse, cambiar la forma de referenciar los jars (libreria, jar externo, etc.) pero nada me funciono, seguia sin detenerse en los breakpoints.
Se me ocurrio probar directamente el Servlet que me regresaba los objetos en JSON y sorpresa, finalmente tenia un mensaje de error:

java.lang.NoClassDefFoundError: sun.reflect.ReflectionFactory is a restricted class. Please see the Google App Engine developer’s guide for more details.
at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)
at com.thoughtworks.xstream.converters.reflection.Sun14ReflectionProvider.(Sun14ReflectionProvider.java:60)

Segun yo interpreto el mensaje, no se puede usar la clase sun.reflect.ReflectionFactory en el GAE porque es un clase restringida -lo mas probable es que sea por cuestiones de seguridad-
Asi que en conclusion, no puedo usar la libreria XStream en el GAE.
Si alguien conoce alguna forma de serializar POJO‘s a JSON en el GAE (que no sea crear mi propio parser), le agradeceria que deje un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: