写点什么

EJB3.1 计划中的特性

  • 2008-03-20
  • 本文字数:1591 字

    阅读完需:约 5 分钟

EJB3.1 专家组通过 JCP 发布了该规范的早期草案 。EJB 的新版本期望作为 2008 年底发布的 Java EE 6 规范的一部分,它主要面向如下两个方面:简化工作(从 EJB3 开始)以及增加 Java 企业社区要求的新特性。主要改变如下:

  1. 一个简化的本地视图,无需单独的本地业务接口就可提供 session bean 的访问。通过这种方式,开发人员仅仅使用一个 bean 类就能实现一个组件。
  2. 一个单例 session bean 组件:在应用所运行的 JVM 上,针对每个应用仅实例化一次,该单例 session bean 组件的目的是为应用提供一个缓存状态的简单方法。作为一个 EJB,该单例可以访问标准的 EJB 中间件服务集——事务管理、安全、远程、依赖注入等等。当容器调用 session bean 类的 newInstance 方法时该单例启动。默认情况下,由容器负责决定何时生成一个实例,然而开发者可以通过使用 @Startup 注解或者相应的部署描述符让实例在容器启动时就实例化。一个单例可能依赖另一个单例(通过 @DependsOn 注解标明),在这种情况下被依赖的单例就需要先实例化。单例 session bean 的生命周期与创建它的容器保持一致,但是其状态会因为 JVM 的停止或崩溃而丧失。因为其意在共享,所以它支持并发访问,这可由容器管理或者在每个 bean 中由开发者管理。
  3. 基于日历的 EJB 定时器表达式和自动创建的定时器:定时器服务可以通过使用类似于 UNIX cron 工具的基于日历的语法来表示定时器回调时间表。例如下面的时间表代表了“每周一、周三和周五的 3:15”:@Schedule(minute=“15”, hour=”3”, dayOfWeek=”Mon,Wed,Fri”)。定时器服务也支持通过 bean 的元数据或者部署描述符自动创建定时器。自动创建的定时器是在应用部署时由容器创建的。
  4. 异步的 session bean 调用:默认情况下 session bean 在其调用期内会阻塞客户端。通过一个异步的方法调用,容器将控制权返还给客户端并且在一个单独的线程上继续处理该调用。一个异步方法能返回一个 Future 对象,该对象使得客户端可以获得一个结果值、检查异常或者尝试取消正在进行中的调用。
  5. 对于 Enterprise JavaBeans 功能的一个轻量级子集的定义,它们能够在 Java EE Profiles 内(如 Java EE Web Profile)被提供,该子集将支持 EJB3.1 APIs 的如下部分:无状态、有状态以及单例 session beans、本地业务视图与非接口视图(no-interface view)、同步方法调用、拦截器、声明式安全、容器管理的事务(CMT)划分、bean 管理的事务(BMT)划分、企业 bean 环境、Java Persistence 2.0 API、JTA1.1 的用户事务接口、Common Annotations 1.0 以及由基本的 Java SE 6 平台(JDBC、RMI-IIOP、JNDI、JAXP、Java IDL 及 JAAS)所支持的企业 APIs。轻量级的 EJB 容器必须向企业 bean 实例提供一个 JNDI API 命名空间。打包的要求也得到了简化以便 EJB 组件可以直接打包到.war 文件中——在这种情况下,EJB 就驻留在 WEB-INF/classes 目录下而不再需要 ejb-jar。其可选的 ejb-jar.xml 部署描述符放置在 WEB-INF 中。

规范的领导者 Ken Saks 已经开始撰写博文以提供更多的关于专家组工作情况的信息,包括对通用 EJB 组件映射的支持:

“对开发者来说造成挫败的一个共同的源泉就是用来解析和查找 EJB 引用的映射信息(如全局 JNDI 名)的不可移植性。我们不断探索以将该信息标准化使得应用无需特定于厂商的 EJB 组件映射就可以部署”

专家组仍处在定义 EJB3.1 过程的早期阶段,所以上面列出来的特性有可能发生变化。这也是我们通过邮件向专家组提供反馈信息来参与到下一版规范的制定工作中去的绝佳机会。

查看英文原文: Planned Features For EJB 3.1 - - - - - -

译者简介:张龙,同济大学软件工程硕士,现就职于理光软件研究所。主要从事文档工作流和办公自动化解决方案的研发工作。热衷于 Java 轻量级框架的研究,对敏捷方法很感兴趣。曾有若干年的 J2EE 培训讲师经历。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com

2008-03-20 01:541274
用户头像

发布了 88 篇内容, 共 266.9 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

AutoMQ 生态集成 MinIO

AutoMQ

Java 云计算 云原生

一文搞懂云桌面,简单易懂

青椒云云电脑

云桌面 云桌面解决方案

乐曲和弦编配的小技巧有哪些 FL Studio如何编曲

阿拉灯神丁

编曲宿主 教程分享 FL Studio 21 音乐软件

直播预告:TinyVue 组件库实战解析,提升组件库构建技能

OpenTiny社区

开源 Vue 前端 组件库 OpenTiny

30天拿下Rust之切片

希望睿智

rust语言

AI造梦师,大模型正在孵化下一个黄金职业

脑极体

AI

桌面云服务器有哪些配置?

青椒云云电脑

云服务器 桌面云

如何理解云电脑

青椒云云电脑

云电脑 云电脑平台

ChaosMeta V0.7.0 版本发布 & 进入CNCF混沌工程全景图

ChaosMeta

cncf #大模型

过程流程图怎么画?这样做简单又好看!

彭宏豪95

效率 流程图 在线白板 办公软件 绘图软件

第七届数字中国建设峰会召开,天翼云启动开源大模型社区发布暨生态繁荣计划

编程猫

检测 CSS 中的 JavaScript 支持

伤感汤姆布利柏

云桌面系统对服务器配置有要求么

青椒云云电脑

云桌面 云桌面系统

桌面云服务器价格怎么样?

青椒云云电脑

桌面云

云教室如何促进优质资源共享

青椒云云电脑

云教室 云教室厂商 云教室解决方案

Pencils Protocol与Trust 钱包联合活动,超$200K的积分奖励来了

BlockChain先知

第53期|GPTSecurity周报

云起无垠

#人工智能 LLM模型

哈银消费金融:科技赋能客诉处理,引领品牌服务新高度

极客天地

FL Studio荣获业内权威网站推荐最佳DAW fl studio官方中文

阿拉灯神丁

编曲宿主 编曲软件 FL Studio 21 mac音乐制作软件 音乐软件

训练效率提升 40%丨多云架构下高效存储策略详解

焱融科技

多云架构 大模型训练 高性能存储

MacBook Air M3有什么游戏推荐 MacBook 怎么玩Windows游戏

阿拉灯神丁

游戏 Mac 软件 CrossOver Mac下载 虚拟机软件 幻兽帕鲁

在每一个家庭里,看见数字中国

脑极体

AI 数字中国

30天拿下Rust之字符串

希望睿智

rust语言

RAG-GPT实践过程中遇到的挑战

Geek_1ef48b

配置C++的学习环境

芯动大师

编程‘’ C++\

Web3 游戏周报(5.19 - 5.25)

Footprint Analytics

链游

活动预告|与 Zilliz 共探亚马逊云科技中国峰会

Zilliz

AWS Milvus Zilliz

Pencils Protocol与Trust钱包联合活动,参与瓜分超$200K的奖励

西柚子

Pencils Protocol与Trust 钱包联合活动,超$200K的积分奖励来了

加密眼界

Pencils Protocol与Trust 钱包联合活动,参与瓜分超$200K的奖励

石头财经

EJB3.1计划中的特性_Java_Charles Humble_InfoQ精选文章