4

ejbPassivate()呼び出されると、ステートフル セッション Beanは通常削除されますが、エンティティ Beanステートレス Beanはプールされます。つまり、パッシベーションには適用できません。

別の記事で、アクティブ化とパッシベーションはステートフル セッション Beanエンティティ Beanにのみ適用できると読みましたが、これはエンティティ Beanステートレス Beanがプールされているという主張とは対照的です。

パッシベーションはどの Bean に適用され、適用すると実際に何が起こるのでしょうか?

4

1 に答える 1

9

パッシベーションとアクティベーションは、状態を持つ EJB、つまりステートフル セッション Bean とエンティティ Bean にのみ適用されます。

パッシベーションは、特定の Bean の状態をストレージに移動するプロセスです。

アクティブ化は、特定の Bean が以前に持っていた状態をストレージからロードするプロセスです。

このメカニズムが必要なのは、EJB が各 Bean タイプのプールを作成しますが、必要に応じてそれぞれ ejbActive および ejbPassivate メソッドを使用してロードおよび格納する、無限の数の各 Bean があるという錯覚を与えるためです。

各 Bean タイプの完全なライフサイクルは次のとおりです。

ステートレス セッション Bean

ステートフル セッション Bean

エンティティ Bean

于 2012-11-28T16:25:25.760 に答える