Oracle
 sql >> Datenbank >  >> RDS >> Oracle

ClassCastException in JPA-Entität nach erneuter Bereitstellung (Glassfish 3.1.2)

An den Classloader gebundene Ressourcen werden statisch gehalten, bis die EntityManagerFactories geschlossen werden. Diese sind anwendungsverwaltet, sodass Sie die Factorys beim Herunterfahren manuell schließen oder die Bereitstellung rückgängig machen müssen, wenn sie nicht mehr benötigt werden. Die Garbage Collection kann sie ebenfalls bereinigen, aber sie findet nicht statt, bevor die App erneut bereitgestellt wird und erneut mit a auf sie zugreift anderen Classloader, was zu der Ausnahme führt, die Sie sehen.

Behalten Sie die Fabrik und schließen Sie sie, wenn sie nicht mehr benötigt wird, oder verwenden Sie die Injektion und lassen Sie den Behälter seinen Lebenszyklus für Sie verwalten.