Java EE 6,5,7 |托管bean或类的列表:EJB,JSF bean和..?

时间:2012-06-20 14:47:02

标签: java jsf java-ee ejb managed-bean

有人可能是当前的托管Beans 列表或Java EE 5,6,7中的类吗? 除了EJB和JSF托管bean之外,还有其他类吗?

在“EJB 3 in Action”一书的第5章(学习高级EJB概念)中,提到了:

  

“DI仅在托管类中受支持且您无法使用   在辅助或实用类中注入。“

这就是为什么我想知道哪些托管bean通常可以支持依赖注入。

- 请不要忘记提及在线参考和文档,如果有的话 - 提前致谢。

2 个答案:

答案 0 :(得分:4)

截至EE 6:

  • EJB(EJB 3.1,第2.8节 - “与托管Bean规范的关系”)
  • CDI(JSR-299,第1.2.3节 - “与托管bean的关系”)
  • JSF(Managed Beans 1.0,第MB.1.2节)

由于预期规范建立在托管bean规范之上,因此平台规范不提供全面的列表,因此您必须检查EE 6中包含的每个规范。我的JSF证据是最弱的,因为最新的JSF规范没有明确声明它构建在托管bean规范之上。但是,托管bean规范本身表明它旨在作为JSF的概括。

也就是说,EE 6平台规范中的表EE.5-1包含支持injection,PostConstruct和PreDestroy的组件类列表。这个列表可能比知道明确“托管bean”的组件技术列表更有用。

  • Servlet(servlet,servlet过滤器,事件监听器)
  • JSP(标记处理程序,标记库事件侦听器)
  • JSF(作用域托管bean)
  • JAX-WS(服务端点,处理程序)
  • EJB(bean,拦截器)
  • Managed Beans [来自托管bean规范]
  • CDI(CDI样式的托管bean [几乎任何带有beans.xml的归档中的类],装饰器)
  • Java EE平台(主类(静态)[应用程序客户端],登录回调处理程序)

答案 1 :(得分:0)

您是否知道任何Java类都可以成为托管bean,方法是将其编写为符合MBean Specification

您的问题要求Java EE中的“当前托管bean列表”。所以简短的回答是“这取决于你正在运行的应用程序是否正在注册MBean”。您可以针对JVM运行JMX客户端(例如MX4J)以找出注册的bean。

我为Platform MBeans提供的链接描述了JVM中默认可用的链接。