Oracle OCCAS サーバーでサーブレットを実行しています。現在、@Entity アノテーションを使用して、データベース内の一部のデータをアプリケーション内のエンティティ クラスにマップしています。ただし、EntityManager (@PersistenceContext) の注入に失敗しました。私の理解では、これは別のエンティティ EJB としてではなく、サーブレット コンテキストで実行されているためです。ただし、EntityManagerFactory を使用してマネージャーを作成することはできるので、現在はそれを使用しています。
ここで、アプリケーションを何度も再起動すると、PermGen スペース不足エラーが発生します。これはどういうわけか永続性に関連していると思います。finalize メソッドで EntityManager.close() への呼び出しがありますが、ログには表示されません。
これは悪い方法ですか? 別の Entity Bean が「必要」ですか、それとも EntityManager をクリーンアップするにはどうすればよいですか?