Pregunta

Tengo un objeto complejo que está siendo gestionado por la gestión de datos LCDS DataServices y siendo creada / modificada etc usando montadores personalizados. La gran mayoría de la jerarquía de objetos se publica por entregas / deserializar correctamente, pero he golpeado en un obstáculo cuando se trata de la serialización de clases Java inmutables.

En un único mundo java me gustaría utilizar el writeReplace Java y métodos readResolve como este excelente blog describe: http://lingpipe-blog.com/2009/08/10/serializing-immutable-singletons-serialization-proxy/

Esta es la forma originalmente escribí mi clase java, esperando LiveCycle para llamar al método writeReplace y debidamente sustituir a la clase inmutable con una mutable para la serialización. Sin embargo, parece que las pantallas LCD no sabe nada del método writeReplace y sólo llamarán readExternal / writeExternal ignorando readResolve y writeReplace.

En primer lugar, tienen otras personas encuentran que esto sea el caso, o me estoy perdiendo algo?

En segundo lugar, ¿alguien ha llegado con un método apropiado para deserializar clases de ActionScript en cualquiera de los objetos inmutables o únicos?

Muchas gracias

¿Fue útil?

Solución

Sí, es un problema común. Adobe recomienda que el tipo de Java que tiene propiedades inmutables implementa Externalizable y el tipo de ActionScript equivalente implementa IExternalizable.

Otros consejos

No hay un plan para manejar la writeReplace y readResolve, pero se puede pedir una solicitud http://bugs.adobe.com/jira/browse/BLZ

Cuando la implementación de su encargo serialización tener cuidado de que usted va a perder algunos beneficios como la compresión de los números y la identificación de las cadenas duplicadas. Una idea es echar un vistazo en el mecanismo de serialización real y modificar en consecuencia.

Sin embargo, si usted está interesado solamente en la serialización de las propiedades de sólo leer esta mejora fue implementado en el BlazeDS, echar un vistazo aquí: http://bugs.adobe.com/jira/browse/BLZ-427

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top