4

我已经读过,当ejbPassivate()被称为有状态会话 Bean时通常会被驱逐,但实体 Bean无状态 Bean是池化的,这意味着它们不适用于钝化。

在另一篇文章中,我读到激活和钝化仅适用于有状态会话 Bean实体 Bean ,这与实体 Bean无状态 Bean被池化的说法形成对比。

钝化适用于哪些 bean,当它们使用时会发生什么?

4

1 回答 1

9

钝化和激活仅适用于具有状态的 EJB,即有状态会话 bean 和实体 bean。

钝化是将给定 bean 的任何状态移入存储的过程。

激活是从存储中加载给定 bean 先前具有的任何状态的过程。

之所以需要这种机制,是因为 EJB 包含为每种 bean 类型创建一个池,但给人一种错觉,即每种 bean 的数量是无限的,根据需要分别使用 ejbActive 和 ejbPassivate 方法加载和存储它们。

此处描述了每种 bean 类型的完整生命周期:

无状态会话 Bean

有状态会话 Bean

实体 Bean

于 2012-11-28T16:25:25.760 回答