2

休止状態を使用するアプリケーションは、Glassfish 2.1.1 で完全にアンデプロイできないことに気付きました。アンデプロイ プロセスの後、多くのクラスがメモリに残ります。jmap と jhat を使用して確認できます。

いくつかのテストを行った結果、休止状態になったアプリケーションのみが clen のアンデプロイ プロセスに失敗することがわかりました。すべてのケースで、Hibernate のデータベース プロバイダーは jTDS 1.2.5 でした。

アプリケーションを実行する必要さえありません。デプロイしてすぐにアンデプロイすると、多くはアプリケーションから、多くは hibernate とその依存関係から、いくつかのクラスがメモリ内にあることがわかります。

Glassfish v2.1.1 で完全なアンデプロイを行うことは可能ですか? いつも permgen スペースが不足しています。

4

1 に答える 1

0

これは決定的な答えではありませんが、休止状態を使用している場合、少なくとも Glassfish 関連のアンデプロイの問題を最小限に抑えることができます。

  • エンティティで列挙型を使用しないでください。代わりに通常のクラスを作成してください。
  • メソッドのみに注釈を付け、プロパティには注釈を付けません。

これら 2 つの項目は、問題を最小限に抑えるのに役立ちますが、開発環境からそれらを取り除かないでください。休止状態を使用しない場合でも、アンデプロイ後もセッション Bean はメモリ内に永久に残ります。

于 2010-02-18T10:55:53.913 に答える