Pregunta

Me di cuenta hoy que he seguido ciegamente solo este requisito durante años sin realmente preguntando por qué. Hoy en día, me encontré con un NotSerializableException con un objeto modelo que creé a partir de cero y me di cuenta de que ya es suficiente.

Me dijeron que esto era debido a la repetición de sesiones entre los servidores con equilibrio de carga, pero sé que he visto otros objetos en el ámbito de sesión que no implementan Serializable. ¿Es esta la verdadera razón?

¿Fue útil?

Solución

Es la verdadera razón. Si realmente importa en la práctica depende enteramente de si el servidor web o servidor de aplicaciones, de hecho, serializar el objeto (o validar que es serializable, pero en realidad la única manera de hacerlo es a serializar en realidad).

La mayoría de los servidores de aplicaciones tienen la opción (al menos) de no ser estricta al respecto. Si usted no utiliza los servidores de carga que realmente comparten estado de equilibrio, entonces es posible que haya visto sin ningún problema.

Otros consejos

Debido a que el fin de ser transferido a través de un alambre que necesitan para ser serialisable a una forma que se puede poner en el cable.

Al igual binario o XML, JSON, o simillar

Hay más información aquí ... caso de que cualquier objeto de dominio, no sea serializable ?

Creo que el concepto es similar a la que se le preguntó, por eso debe ser masticada alimentos sólidos hacia abajo antes de ser tragado para la digestión. Pero, por supuesto, la diferencia es que el bien digerida no puede estar en deserializado de todos modos.

Recuerdo utilizando Sun RPC (llamada hoy en día ONC RPC) que realiza la codificación XDR porque plataformas de ordenador / sistemas representan sus datos en sus respectivas formas. Por ejemplo, endian grande vs pequeño endian.

Sin embargo, la JVM, independientemente de la máquina es grande ascendente hacia la izquierda, por lo endianness no debe ser una razón.

Estructura de datos en la memoria del ordenador tiene punteros y todos los elementos de un objeto no podrá integrar un bloque de memoria contigua. Sin embargo, cuando se pasa un objeto excelentes referencias de E / S a otro sistema, no se puede pasar a la distribución de la memoria de ese objeto.

Un objeto necesita ser serializado antes de almacenarse en una base de datos, ya que no puede y no desea replicar la disposición de cambio dinámico de la memoria del sistema.

Nuestra capa de representación de datos en las redes son todos bits basado en la corriente. Por lo tanto, cuando se desea pasar datos de un sistema a otro, usted tiene que convertir los datos dimensionales representados en la memoria a uno que puede ser transmitido excelentes referencias de la redes de byte a byte. En realidad, poco a poco, y que a menudo pasa excelentes referencias de compresión y cifrado de seguridad. rutinas de compresión y cifrado son OO-estructura ciego y flujos de bits se presumen. Los conmutadores de red son OO-estructura ciego. La transmisión por red ni siquiera ve bits. Los bits se codifican en una señal de transmisión que a menudo es sinusoides analógicas y luego modulada. Estos procesos no funcionan en los esquemas multidimensional / oo jerárquica de los datos estructurados.

Creo que se puede realizar la ofuscación nivel de objeto y cifrado, sin embargo, todavía tiene que permitir que el sistema para convertir los flujos de bits que, mediante la conversión a charlas corrientes en primer lugar.

Marshalling es cuando el pastor tiene un rebaño de ovejas y las excelentes referencias marshalls un puente de un solo ovejas sobre aguas turbulentas. Por lo tanto, un contador de referencias tiene que ordenar nuestros objetos en los esquemas de serie con referencias escritas en, por lo que cuando el rebaño de ovejas de información emergen desde el otro extremo del puente, estamos en condiciones de volver a montar de nuevo en su esquema jerárquico por el conjugado-demarshaller . En nuestro caso, nuestras ovejas no se marshalled excelentes referencias sólo un puente, pero excelentes referencias bobinados y deslizamientos de tierra en el que el equipo de transmisión de la red en cada vuelta almacena una copia de las ovejas marshalled estrechas y precarias para asegurar que son capaces de volver a enviar la copia en caso de que alguna de las ovejas ha caído por un barranco excelentes referencias.

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