Les ressources liées au chargeur de classe sont conservées statiquement jusqu'à ce que les EntityManagerFactories soient fermées. Celles-ci sont gérées par l'application, vous devez donc appeler manuellement la fermeture des usines à l'arrêt ou annuler le déploiement lorsqu'elles ne sont plus nécessaires - la récupération de place peut également les nettoyer, mais cela ne se produit pas avant que l'application ne soit redéployée et y accède à nouveau avec un chargeur de classe différent, ce qui entraîne l'exception que vous voyez.
Conservez l'usine et fermez-la lorsqu'elle n'est plus nécessaire, ou utilisez l'injection et laissez le conteneur gérer son cycle de vie pour vous.