# Hibernate, Debuggingparameter Tomcat



## tme (28. Mai 2009)

Hallo,

derzeit betreue ich eine J2EE-Applikation, die Tomcat nutzt. Ich habe diese von anderen Entwicklern, die leider nicht mehr greifbar sind, übernommen. Die Applikation nutzt Hibernate.

Es finden sich leider eine Menge bestimmter Exceptions der Art

- Cannot serialize session attribute user for session 3887D5667AA6E12F1EACCBF947DFC14D
java.io.NotSerializableException: de.branion.utils.FileInDatabase
at java.ibjectOutputStream.writeObject0(Unknown Source)
at java.ibjectOutputStream.defaultWriteFields(Unknown Source)
at java.ibjectOutputStream.writeSerialData(Unknown Source)
at java.ibjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.ibjectOutputStream.writeObject0(Unknown Source)
at java.ibjectOutputStream.defaultWriteFields(Unknown Source)
at java.ibjectOutputStream.writeSerialData(Unknown Source)
at java.ibjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.ibjectOutputStream.writeObject0(Unknown Source)
at java.ibjectOutputStream.writeObject(Unknown Source)
at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1483)
at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:948)
at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517)
at org.apache.catalina.session.StandardManager.unload(StandardManager.java:463)
at org.apache.catalina.session.StandardManager.stop(StandardManager.java:667)
at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4360)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:893)
at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1007)
at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1215)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1306)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559)
at java.lang.Thread.run(Unknown Source)

Ich vermute, diese kommen aus Hibernate, ich wüßte nicht, warum Tomcat selbst versuchen sollte, irgendetwas zu serialisieren.

Um diesen besser auf die Schliche zu kommen, gibt es für die Kommandozeile anscheinend seit Java 1.6 den Parameter

-Dsun.io.serialization.extendedDebugInfo=true

Wo könnte ich diesen Tomcat mitgeben, um mehr Informationen über die Exceptions zu erhalten?


Danke,

Thomas

Edit: Entschuldigt, natürlich gehört diese Frage in das Web-Tier. Ich hab's übersehen, weil ich mich immer nur in "Java-Programmierung" rumgetrieben habe. Leider kann ich's nicht sebst verschieben oder löschen. Würde das bitte jemand übernehmen? Danke.


----------



## maki (28. Mai 2009)

*verschieb*

Welches Logging Framework nutzt denn die WebApp?


----------



## tme (28. Mai 2009)

Dankeschön,



maki hat gesagt.:


> Welches Logging Framework nutzt denn die WebApp?



soweit ich das sehen kann, ist Log4J angebunden.

Thomas


----------



## maki (28. Mai 2009)

Entweder wird das Ding per properties Datei oder per XML Datei konfiguriert, log4j.properties für ersteres und log4j.xml für letzteres, da kann man dann die Logeinstellungen für die WebApp ändern.

Der Container (Tomcat) kann übrigens diesen fehler auch erzeugen, denn Sessiondaten etc. werden beim Runterfahren serialisiert und beim hochfahren de-serialisiert, die TC Logging einstellungen musst du aber extra ändern.


----------

