ステートフル EJB の @remove アノテーションの例では、アノテーション付きメソッドが Bean のインスタンス変数を無効にします。なんで?確かにBeanを破棄すると、その内容、つまり変数が破棄されますか?
ありがとう、ジョン
ステートフル EJB の @remove アノテーションの例では、アノテーション付きメソッドが Bean のインスタンス変数を無効にします。なんで?確かにBeanを破棄すると、その内容、つまり変数が破棄されますか?
ありがとう、ジョン
オブジェクトのすべてのフィールドを に設定すると、次のnull
2 つの効果があります。
これは、無効なオブジェクトの再利用につながる論理エラーに対するハード バリアを提供します。アプリケーションは、暗黙のうちに誤った結果を生成する代わりにクラッシュします。
オブジェクト参照グラフからエッジを削除することで Java VM ガベージ コレクターを支援し、全体的なパフォーマンスを向上させます。
ソースコードの例を投稿できますか? またはしないでください。積極的な設定null
は必要ありません。EJB が破棄され、すぐにガベージ コレクションが行われると、それが参照するすべてのオブジェクト (もちろん、それらへの他の参照がない場合) も同様にガベージ コレクションが行われます。
ejbRemove() の場合、インスタンスの属性は消去され、クライアントはまだインスタンスへの参照を保持しています。クライアントは引き続き同じオブジェクトにアクセスできます。それは望ましくありません。