2009-11-02 9 views
21

Actualmente estoy luchando con la replicación de sesión HTTP en Tomcat con objetos complejos.Indicador de Java para habilitar la información de depuración de serialización extendida

algunos objetos implementan Serializable pero tienen miembros no serializables.

Desafortunadamente, las stacktraces no proporcionan mucha información útil aquí de forma predeterminada.

hay una bandera -XX: ???? para habilitar nombres de clase verbosa en la pila cuando ocurre una NotSerializableException. Esta bandera me ayudaría mucho a encontrar el origen del error. pero olvidé su nombre

¿cuál es el nombre de la bandera?

+1

Por sesión, Qué quiere decir un Servlet 'HttpSession'? – McDowell

+0

sí. HttpSession solo debe contener objetos serializables o de lo contrario no se reiniciará y no podrá replicarse en otros nodos tomcat. –

Respuesta

49

-Dsun.io.serialization.extendedDebugInfo = true

+0

Necesito esperar 2 días antes de poder marcar esto como aceptado, debido a las reglas SO. encontré la respuesta en http://mfondo.blogspot.com/2007/10/java-serialization-debugging.html –

+1

Probablemente valga la pena mencionar que esta bandera solo se activa cuando hay un problema de serialización, como resultado los registros ganados No te vuelvas loco antes de que ocurra el evento. – mrswadge

+0

@AndreasPetersson ¿dónde establecer esto? como si estuviera usando el servidor tomcat – eatSleepCode

Cuestiones relacionadas