Não é possível serializar beans de sessão - Aviso é lançado
Estou executando um ambiente com JSF + Primefaces + tomcat 6.0.32 no netbeans usando o EclipseLink (JPA 2.0).
Meu aplicativo funciona bem, mas toda vez que eu o executo, recebo muitos avisos dizendo que não é possível serializar meus beans de sessão e mostra blocos desse tipo para cada bean de sessão:
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...
O fato é que meus beans de sessão já implementam Serializable. Então, o que posso fazer para resolver isso?
Obrigado !
---- informação adicionada 20/07/2012 ----
O único ponto em que estou fazendo uma referência ao EntityManager a partir do bean de sessão é quando eu crio o jpaController na propriedade getter, assim:
private JpaController getJpaController() {
if (jpaController == null) {
jpaController = new JpaController(Persistence.createEntityManagerFactory("myPersistenceUnit"));
}
return jpaControllerPedido;
}
Isso é porque eu defini o construtor jpaController assim:
public JpaController(EntityManagerFactory emf) {
this.emf = emf;
}