J2EE Architecture(14)

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1614141 J2EE...
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1614141

J2EE Architecture(14)


1、实体Bean的生命期
1)创建实体Bean
容器调用如下方法创建实体Bean:
newInstance()
setEntityContext(...)
newInstance()创建Bean实例,setEntityContext(...)将Entity Context属性对象作为参数。
2)实体Bean的活动和服务
池化的Bean不表示任何特定数据。对于这样的实体Bean而言,不能调用其它业务方法。
可利用池化Bean执行一些通用活动,另外,当容器不需要池时,可进行销毁。
此阶段,可以执行如下3个动作:
(1)调用ejbHome(),在Bean实例上执行一些通用操作;
(2)调用ejbFind(),以查找持久数据集合;
(3)调用unsetEntityContext()方法销毁Bean实例,并对实例进行无用单元回收处理。
如需要新建数据,容器将从Bean池选一个实例,并按顺序调用以下方法:
ejbCreate()
ejbPostCreate()
在企业Bean中,ejbCreate()方法将接收大量参数,符合主键概念。故可能使用大量重载的ejbCreate()方法,以满足企业持久数据定义的需要。
在供应业务数据时,ejbCreate()方法用供应值刷新Bean实例的实例变量。
可以在Bean上运行ejbPostCreate()方法,以完成Bean的创建。此时,Bean进入“就绪”状态,可以接收业务方法的调用。
在实体Bean实例就绪后,它实际上将与数据库表的特殊记录等例子对应。现在,可在特定Bean实例上运行业务方法。
在Bean上运行业务方法比较复杂,因为多个客户端可能同时访问此类持久数据。为此,容器需要将Bean上的方法调用与数据库保持同步。容器必须确保客户端总能访问到最新的持久数据。
通过以下两种方法实现:
ejbStore()
ejbLoad()
调用ejbLoad()方法,它用来自数据库的最新值更新Bean的属性;调用ejbStore()方法,它将Bean实例的最新值保存在数据库表的记录中。
实体Bean如长期处于不活动状态,容器可能觉得将其换出,并将资源分配给活动Bean。相反,容器也可能决定将Bean换入,将其激活。
3)钝化
容器如决定换出Bean时,将顺序调用如下方法:
ejbStore()
ejbPassivate()
这将使Bean进入池化状态,并将Bean的数据保存在辅助存储器中;
4)激活
当容器决定换入Bean时,将顺序调用如下方法:
ejbActivate()
ejbLoad()
5)销毁实体Bean。
容器调用Bean上的ejbRemove()方法来销毁实体Bean。
这个操作使Bean实例重“就绪”状态进入“池化”状态。
2、消息驱动Bean的生命期
MDB的生命期最简单。
1)MDB的创建
容器调用3个方法创建MDB实例:
newInstance()
setMessageDrivenContext()
ejbCreate()
2)MDB的活动和服务
当业务方法onMessage()接收到JMS消息时,池化MDB将转入操作状态。消息必须是JMS支持的类型。
MDB的onMessage()可能接收以下类型的消息对象:
TextMessage
ByteMessage
ObjectMessage
StreamMessage
MapMessage
需正确识别消息类型,进行适当操作。发送电子邮件消息、更新数据库是一些JMS操作实例。
3)销毁MDB
调用Bean上的ejbRemove()方法,以释放Bean所占的所有资源。
3、EJB高级特性
CMP Bean中的高级特性:
1)Home方法
2)抽象持久模式(Abstract Persistence Schema)
3)EJB查询语言
4)使用CMP Bean管理关系
5)本地接口

 

目录
相关文章
|
Android开发 Java Kotlin
Architecture -- WorkManager
1. WorkManager 1). 简介 其实就是"管理一些要在后台工作的任务, -- 即使你的应用没启动也能保证任务能被执行",WorkManager在底层, 会根据你的设备情况, 选用JobScheduler, Firebase的JobDispatcher, 或是AlarmManager。
906 0
|
数据库 容器 开发框架
J2EE Architecture(14)
J2EE Architecture(14) 1、实体Bean的生命期 1)创建实体Bean 容器调用如下方法创建实体Bean: newInstance() setEntityContext(...) newInstance()创建Bean实例,setEntityContext(...)将Entity Context属性对象作为参数。
771 0
Enterprise Architect学习笔记-EA中关系
Enterprise Architect中定义的关系主要有一下几种: ●Associate(关联):类之间有关联,通常是作为变量存在; ●Aggregate(聚合):类A包含类B或由类B组成;...
1120 0
|
Web App开发 前端开发 Java
J2EE Architecture(17)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1623122 J2EE Architecture(17) 1、MVC架构MVC(Model-View—Control,模型-视图-控制器)架构,是最早出现的一种架构,用于实现传统架构,如客户机/服务器、分布和Internet架构。
914 0
|
API 容器 开发框架
J2EE Architecture(7)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7) 1、Servlet上下文Web服务器能支持若干Web应用程序。
845 0
|
Java 容器
J2EE Architecture(12)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1611378 J2EE Architecture(12) 1、EJB规范EJB(Enterprise JavaBean)是最重要的组件,也是J2EE技术的重要组成部分。
1026 0
|
架构师 OLAP OLTP
J2EE Architecture(1)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596034 J2EE Architecture(1) 1、遗留系统指继承产品,即企业早期使用的应用程序、数据结构、运行环境和硬件集合。
927 0
|
Java 测试技术 应用服务中间件
J2EE Architecture(4)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1601797 J2EE Architecture(4) 在Java语言从客户机/服务器环境发展为分布式平台后,J2EE应运而生。
1054 0
|
XML Java 数据格式
J2EE Architecture(11)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1609728 J2EE Architecture(11) 1、JSP文档(JSP Document)根据XML语法调整格式的JSP页称为JSP文档。
730 0
|
开发框架
J2EE Architecture(13)
J2EE Architecture(13)
713 0