为什么池无状态豆?

通常我们将singleton实例用于business / dao层。 在EJB的情况下汇集无状态会话bean的原因是什么?

名称中的“无状态”是指会话对话状态,即在bean的调用之间持续存在的状态,在会话期间保留。 但是,仍然允许无状态会话bean具有实例变量。 这些实例变量不应与会话状态相关,而是在客户端之间“共享”。

换句话说,无状态会话bean不保证线程安全。

因此,容器应该确保一次只有一个线程正在执行无状态会话bean的给定实例,因此需要它们的池。

  • 因为它们构建起来很昂贵,所以通常需要访问外部资源,如数据库,消息队列等。
  • 因为您不希望创建无限数量的数据,否则您将耗尽资源
  • 这样容器就可以为您管理线程安全