java - 为什么要使用 EJB?

标签 java ejb-3.0

什么是 EJB,我们为什么要使用它?请用简单的语言解释。谢谢。

最佳答案

EJB 或 Enterprise Java Bean 是普通的 java 类(自 3.0 版起),带有注释,使您能够编写应用程序的业务逻辑,然后在 Java Enterprise Edition Server 上部署(或安装)它。

如果您希望利用 Java Enterprise Edition (Java EE) 服务器提供的以下服务,则必须考虑使用 EJB:

  • 集群。您可以将 EJB 部署在集群环境(依赖于 Java EE 应用服务器)上,这为您提供了容错和高可用性。
  • 不使用线程的并发。所有 EJB 都通过对象池进行实例化,然后您的应用程序将获得性能提升,并且没有线程复杂性。
  • 通过 JTA 进行交易。所有 EJB 都可以从针对不同资源(最重要的数据库)的事务性管理中受益,使用注释可以轻松划分每个事务的边界并对其进行管理。
  • 到数据库的连接池。所有 ejb 都可以访问定义在 Java EE 应用服务器中的连接池,此连接池提供了数据库复杂性的抽象,例如,您可以使用 XA 数据源,使您能够对不同的数据库进行两阶段提交。
  • 安全。所有 ejb 都可以使用 JAAS 来保护应用程序。 JAAS 被配置到 Java EE 应用服务器中,并允许您通过不同的提供者仅通过配置(例如使用 Active Directory、LDAP 或数据库)来验证和授权 EJB 的方法。
  • 安排服务。所有 ejb 都可以使用 Timer Service,使您能够实现任务以进一步执行或包含重复执行。

还有其他服务和好处,但我认为这些是最重要的。如果您不需要这些好处,我的建议是您不要使用 EJB(并非所有应用程序都是企业应用程序)。

关于java - 为什么要使用 EJB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5936734/

相关文章:

java - EJB 的默认类路径是什么?

java - 领先的 EJB 平台提供商有哪些,例如 WebSphere 等?

java - Hashmap反向键查找

java - 每次我尝试打开 eclipse 时都无法创建 java 虚拟机错误

java - Ejb3 GlassFish - JNDI 查找在 SerialContext 中失败 - NameNotFoundException

java - 无法在 JBoss 上下文中从客户端应用程序获取远程 ejb

java - 适用于 EJB2 和 EJB3 的 Maven 普通项目

Java静态函数

java - 在 try-catch-finally block 中调用异步方法

java - 将游戏分数存储到sqlite数据库java中