EJB服务器和EJB容器提供的功能有什么区别?

时间:2014-05-24 01:38:28

标签: java java-ee

我试图理解EJB的概念,但它太模糊了。 我读到了EJB服务器和EJB容器,EJB容器在EJB服务器中运行。我也知道两者都提供资源/服务,此时此问题似乎是我的问题......

每个人提供的资源/服务是什么?

非常感谢大家的帮助。

1 个答案:

答案 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

来自official source

  

EJB容器:管理Java EE的企业bean的执行   应用。 Enterprise Bean及其容器在Java EE上运行   服务器

现在我做了一些上下文定义,让我们试着回答你的问题:

  

每个人提供哪些资源/服务?

" EJB服务器"

" EJB服务器"提供EJB容器。而已。正如我早期的陈述,它只是一个标签,而不是一个正式的定义。在大多数情况下,你所拥有的是像Glassfish这样的Java EE服务器,它最终会为你提供比EJB更多的服务,比如encription,Web Container等。

如果我们坚持这种逻辑,也可以调用像Glassfish这样的服务器:

  • Servlet服务器
  • Web服务器
  • JMS服务器
  • JSP服务器

你能看到这是怎么回事吗?

EJB容器

EJB容器实现提供EJB规范定义的资源和服务。例如,它根据规范进行了事务管理。

根据具体情况,有许多技术或术语可能具有不同的含义。 Web服务和SOA就是一些例子。