Session Beans können nicht serialisiert werden - Warnung ausgegeben
Ich verwende eine Umgebung mit JSF + Primefaces + Tomcat 6.0.32 in Netbeans mit EclipseLink (JPA 2.0).
Meine Anwendung funktioniert einwandfrei, aber jedes Mal, wenn ich sie ausführe, erhalte ich eine Reihe von Warnungen, die besagen, dass meine Session-Beans nicht serialisiert werden können, und sie zeigen mir für jedes Session-Bean die folgenden Blöcke:
18-jul-2012 23:05:46 org.apache.catalina.session.StandardSession writeObject
ADVERTENCIA: No puedo serializar atributo de sesión facturacionController para sesión 62A53325838E1E7C6EB6607B1E7965E6
java.io.NotSerializableException: org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
... and so on...
Die Sache ist, dass meine Session Beans bereits Serializable implementiert haben. Was kann ich tun, um das zu lösen?
Vielen Dank !
---- Info hinzugefügt 20.07.2012 ----
Der einzige Punkt, an dem ich in der Session-Bean auf EntityManager verweise, ist, wenn ich den jpaController in der Eigenschaft getter wie folgt erstelle:
private JpaController getJpaController() {
if (jpaController == null) {
jpaController = new JpaController(Persistence.createEntityManagerFactory("myPersistenceUnit"));
}
return jpaControllerPedido;
}
Das liegt daran, dass ich den jpaController-Konstruktor folgendermaßen definiert habe:
public JpaController(EntityManagerFactory emf) {
this.emf = emf;
}