¿Implementa la serialización en VO sin guardar el estado del objeto?

Actualmente, en el proyecto, se están serializando pocas clases de VO (objetos de valor) mediante la implementación de la interfaz Serializable. esta clase no tiene nada más que getters y setters. En ninguna parte del código están haciendo writeObject o guardando el estado del objeto.

¿Hay algún valor para hacer que mi VO Serializable tenga algún sentido?

preguntado el 03 de mayo de 12 a las 10:05

Todo depende de cómo y dónde lo use (se puede usar en DnD en la aplicación Swing, pero también en EJB dentro de una aplicación JEE), especifique su contexto. No necesita anular writeObject y readObject para hacer que un objeto sea "Serializable". -

hola, esta es una aplicación JEE pero no enviamos este objeto VO a través de la red. este VO actúa dentro de un pequeño contexto para comunicar datos de una clase a otra. Pero lo que quiero entender aquí es, si no anulo el método, ¿dónde se guardará el estado de los objetos? y sus usos si no lo escribiré en un archivo específico. -

Todo lo que se almacene en un campo no transitorio/no estático se serializará/deserializará automáticamente. -

Obtuve la respuesta, en nuestro escenario, los servidores están en un entorno agrupado. durante cualquier falla del Servidor A, ahora el Servidor B clonará la misma sesión para que no se pierda nada. Para que este proceso persista en el estado de VO, debemos hacerlo como implementos Serializable. Gracias por otras respuestas también... Gracias Punith -

1 Respuestas

Discutamos con un caso simple: imagine una entidad que envuelve algunos objetos de valor y desea administrar su entidad con, por ejemplo, el marco de Hibernate.

Hibernate puede necesitar una clase serializable:

La clase debe implementar Serializable. Estrictamente hablando, esto no es un requisito. Sin embargo, en la práctica, normalmente querrá que sus objetos de Hibernate sean serializables para que puedan (potencialmente) migrarse alrededor de un clúster multiprocesador o guardarse y restaurarse a través de un reinicio del servidor web, etc.

Por supuesto, no tiene que precisar el método writeObject y readObject porque la serialización predeterminada usa la reflexión para guardar y restaurar los estados de los objetos.

En realidad, esos métodos son interesantes cuando desea personalizar la serialización, como por ejemplo inicializar un campo (presente en la clase de cliente pero no existente dentro de la clase de servidor) durante la deserialización con un valor predeterminado preciso.

contestado el 03 de mayo de 12 a las 11:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.