在请求范围会话Bean中注入有状态bean

时间:2014-12-26 02:06:35

标签: jsf ejb

在请求范围的会话bean中注入有状态的ejb bean与在请求范围的会话bean中注入无状态的ejbbean之间有什么区别?请求scoped bean每次调用有状态bean时都会创建一个新实例吗?

1 个答案:

答案 0 :(得分:2)

  • 在部署有状态会话bean之前,它处于不存在状态。成功部署后,EJB容器会对bean执行任何必需的依赖项注入,并进入 就绪状态。此时,bean已准备好拥有其方法 由客户端应用程序调用。
  • 有状态会话bean处于Ready状态时,EJB 容器可能会决定钝化它,也就是说,从中移动它 主存储器到二级存储器。当发生这种情况时,豆子 进入被动状态。
  • 如果没有访问有状态会话bean的实例 一段时间内,EJB容器会将bean设置为不会 存在状态。
  • 无状态会话bean生命周期仅包含不存在就绪状态,无状态会话bean 永远不会被钝化
  • RequestScoped 只要HTTP请求响应存在,Bean就会存在。

因此,请求作用域支持bean中的无状态bean将在HTTP请求响应后被销毁,但有状态的bean将进入被动状态。