¿Cuál es el propósito de la interfaz IsSerializable en GWT (en relación con el mecanismo RPC)

StackOverflow https://stackoverflow.com/questions/3065135

  •  28-09-2019
  •  | 
  •  

Pregunta

¿Cuál es el propósito de la interfaz IsSerializable en GWT (en relación con el mecanismo RPC). Nunca he sido capaz de encontrar una buena explicación de por qué es como es y por qué el valor por defecto de Java Serializable interfaz de etiquetado no funciona.

¿Fue útil?

Solución

Tanto Serializable y IsSerializable trabajo, de acuerdo con la GWT serialización docs :

  

Una clase definida por el usuario es serializable si todos de los siguientes casos:

     
      
  1. Es asignable a IsSerializable o Serializable, ya sea porque implementa directamente una de estas interfaces o porque deriva de una superclase que hace
  2.   
  3. Todos los campos de instancia, no transitorios no finales son a su vez serializable, y
  4.   
  5. A partir de GWT 1.5, debe tener un constructor predeterminado (argumento cero) (con cualquier modificador de acceso) o ningún constructor en absoluto.
  6.   

Una diferencia clave, sin embargo, es que, por razones de seguridad, todas las clases Serializable deben incluirse en una política de serialización, que se genera en tiempo de compilación, mientras que las clases IsSerializable no tienen ese requisito.

Si su interés es puramente en GWT, y no lo hace por ejemplo, compartir las clases del modelo entre la aplicación Web y otra aplicación, te sugiero que tienen las clases del modelo / dtos implementan IsSerializable.

Otros consejos

Si usted comparte sus objetos con otros programas a continuación, utilizar Serializable ya que es una función de biblioteca java estándar,

Pero si sólo quiere pasarla entre el servidor y el cliente en GWT a continuación, utilizar IsSerializable . Esto ayuda a asegurarse de que no habilita a comenzar a pasar a lugares que no debería ir.

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