EJB的三种组件

2024-08-25 15:32
文章标签 组件 三种 ejb

本文主要是介绍EJB的三种组件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

EJB(Enterprise JavaBeans)是使用Java语言构造可移植的、可重用的和可伸缩的业务应用程序平台。EJB是EJB容器的特定运行时环境中执行的一段java代码,容器提供若干组件服务。
EJB组件有三种类型:
  • 会话bean;
  • 消息驱动bean;
  • 实体;
会话bean和消息驱动bean用于实现EJB应用程序的业务逻辑,而实体用于持久化。


如图,EJB3 API的整体组织情况。java持久化API完全独立于EJB3容器。业务逻辑处理由两组件:会话bean,消息驱动bean容器管理。持久化对象成为实体,由持久化提供器通过EntityManager接口管理。
会话bean
会话bean有两种类型:有状态(stateful)和无状态(stateless)。既可以在本地调用会话bean,也可以使用Java RMI远程调用。无状态会话bean可以暴露为Web服务。
消息驱动bean
与会话bean一样,MDB也处理业务逻辑。但是,MDB在一个重要方面有所不同:客户端从不直接调用MDB方法。相反,有发送到消息服务器的消息触发MDB,这样就允许在系统组件之间发送异步消息。典型的消息服务器有IBM WebSphere MQ、Oracle Advanced Queueing 和TIBCO。MDB通常用于健壮系的集成和异步处理。
实体和JPA
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。持久化就是把java对象内包含的数据自动存储到数据库中。EJB3中的持久化由JPA管理。ORM在本质上是使用配置把java对象中保存的数据映射到数据库表的过程。持久化提供器在本质上是支持EJB3 Java持久化API(JPA)的ORM框架。
JPA定义了如下标准:
  • 用于把实体映射到数据表的ORM配置元数据的创建;
  • EntityManager API——用于对实体执行CRUD持久化操作的标准API;
  • Java持久化查询语言(JPQL),用于搜索和检索持久化应用程序数据。
因为JPA标准化了Java平台的ORM框架,所以你可以插入ORM产品(比如JBoss Hibernate、Oracle TopLink或BEA Kodo )作为应用程序和底层JPA“持久化提供器”。
使用API构造应用程序的持久化逻辑,就必须使用实体。实体是持久化到数据库中的java对象。
JPA EntityManager接口以设计提供持久化服务的方式管理实体。虽然实体通知JPA提供器如何映射到数据库,的是那会实体并不持久化自己。EntityManager接口从实体读取ORM元数据并且执行持久化操作。JPA提供处理生命周期管理、性能优化、缓存和事务管理的功能。

这篇关于EJB的三种组件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105944

相关文章

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

Java终止正在运行的线程的三种方法

《Java终止正在运行的线程的三种方法》停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作,停止一个线程可以用Thread.stop()方法,但最好不要用它,本文给大家介绍了... 目录前言1. 停止不了的线程2. 判断线程是否停止状态3. 能停止的线程–异常法4. 在沉睡中停止5

Linux配置IP地址的三种实现方式

《Linux配置IP地址的三种实现方式》:本文主要介绍Linux配置IP地址的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境RedHat9第一种安装 直接配置网卡文件第二种方式 nmcli(Networkmanager command-line

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB