Howdy,
ich habe einen Tomcat 7 + JSF2 + Eclipselink 2.3.0.
Desweiteren nutze ich ManagedBeans (SessionScoped) mit einem ControllerObjekt in dem wiederum ein EntityManager steckt.
Das Problem ist hierbei, dass Tomcat beim Stoppen bzw. Starten versucht die Sessions zu speichern, bzw. wieder herzustellen. Da die EntityManagerImpl nicht serialisierbar ist (in der Spezifikation JPA2 auch nicht verlangt) wirft Tomcat verständlicherweise eine NotSerializableException.
Wenn ich im Tomcat das Speichern der Sessions abschalte, so sehe ich zwar auf der Konsole keine Fehlermeldungen mehr, aber im Log tauchen diese sehr wohl noch auf.
Ich habe nun versucht in meiner SessionScoped-ManagedBean den Controller mit dem EntityManager per "transient" von der Serialisierung auszunehmen -> kein Erfolg
Dann habe ich versucht per @PostConstruct und @PreDestroy die Referenz vor der Serialisierung herzustellen bzw. zu kappen -> kein Erfolg
Allmighty Google weiß auch nicht wirklich Rat...
Der Fehler ist bekannt, aber keiner kümmert sich wirklich drum.
Das seltsame ist halt, dass Glassfish ja auch Eclipselink nutzt und ich diesen Fehler dort nie hatte.
Nun fällt mir schlicht nichts mehr ein wie ich den Fehler loswerden kann...
Eigentlich hätte ich auch schon gerne dass Tomcat die Sessions bei einem Neustart behält...
Hat jemand noch eine Idee?
ich habe einen Tomcat 7 + JSF2 + Eclipselink 2.3.0.
Desweiteren nutze ich ManagedBeans (SessionScoped) mit einem ControllerObjekt in dem wiederum ein EntityManager steckt.
Das Problem ist hierbei, dass Tomcat beim Stoppen bzw. Starten versucht die Sessions zu speichern, bzw. wieder herzustellen. Da die EntityManagerImpl nicht serialisierbar ist (in der Spezifikation JPA2 auch nicht verlangt) wirft Tomcat verständlicherweise eine NotSerializableException.
Wenn ich im Tomcat das Speichern der Sessions abschalte, so sehe ich zwar auf der Konsole keine Fehlermeldungen mehr, aber im Log tauchen diese sehr wohl noch auf.
Ich habe nun versucht in meiner SessionScoped-ManagedBean den Controller mit dem EntityManager per "transient" von der Serialisierung auszunehmen -> kein Erfolg
Dann habe ich versucht per @PostConstruct und @PreDestroy die Referenz vor der Serialisierung herzustellen bzw. zu kappen -> kein Erfolg
Allmighty Google weiß auch nicht wirklich Rat...
Der Fehler ist bekannt, aber keiner kümmert sich wirklich drum.
Das seltsame ist halt, dass Glassfish ja auch Eclipselink nutzt und ich diesen Fehler dort nie hatte.
Nun fällt mir schlicht nichts mehr ein wie ich den Fehler loswerden kann...
Eigentlich hätte ich auch schon gerne dass Tomcat die Sessions bei einem Neustart behält...
Hat jemand noch eine Idee?