我试图理解EJB的概念,但它太模糊了。 我读到了EJB服务器和EJB容器,EJB容器在EJB服务器中运行。我也知道两者都提供资源/服务,此时此问题似乎是我的问题......
每个人提供的资源/服务是什么?
非常感谢大家的帮助。
答案 0 :(得分:2)
" EJB Server"
简而言之," EJB Server"只是具有EJB实现的任何Application Server的标签。它的正确定义是Java EE Server。
例如,Glassfish和JBossAS都有自己的EJB容器。出于这个原因,有些人称他们为#B; EJB服务器"。 This page有一个" EJB服务器列表"并且它们被调用,因为它们实现了EJB规范,这意味着存在EJB容器。
但它不是一个正式的定义,更像是一种软性约定。
EJB容器
现在,这是完成所有工作的实际EJB服务提供程序。它为您提供应用程序服务,例如事务控制和安全性,并遵循定义的EJB Specification。
部署会话Bean时,EJB容器负责其生命周期,事务,注入以及其他任务。详情here。
EJB容器:管理Java EE的企业bean的执行 应用。 Enterprise Bean及其容器在Java EE上运行 服务器
现在我做了一些上下文定义,让我们试着回答你的问题:
每个人提供哪些资源/服务?
" EJB服务器"
" EJB服务器"提供EJB容器。而已。正如我早期的陈述,它只是一个标签,而不是一个正式的定义。在大多数情况下,你所拥有的是像Glassfish这样的Java EE服务器,它最终会为你提供比EJB更多的服务,比如encription,Web Container等。
如果我们坚持这种逻辑,也可以调用像Glassfish这样的服务器:
你能看到这是怎么回事吗?
EJB容器
EJB容器实现提供EJB规范定义的资源和服务。例如,它根据规范进行了事务管理。
根据具体情况,有许多技术或术语可能具有不同的含义。 Web服务和SOA就是一些例子。