HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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:541212
用户头像

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

关注

评论

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

玩转生成式 AI ,抓住时代机遇

科技热闻

技术干货|数据科学助力制造业智能化变革

Altair RapidMiner

人工智能 机器学习 算法 数据分析 altair

在 Go 中如何使用 go:embed 指令嵌入静态文件

江湖十年

Go golang 后端 golang 面试

AI+资源数据分析运营助手

鲸品堂

AI 运维 资源管理 企业号2024年7月PK榜

利用财务团队的转型来推动企业业务成功

智达方通

企业管理 全面预算管理 财务管理

基于低代码思想的可视化开发平台:引领未来软件开发的新趋势

不在线第一只蜗牛

软件开发 低代码 可视化

一文读懂有关 LISTA、bitget 钱包的所有信息

股市老人

【7月27日丨上海】Elastic & 阿里云邀您参加 AI 搜索 Tech Day

阿里云大数据AI技术

人工智能 elastic

构筑自主可控大数据“底座”,赋能数字经济发展

EquatorCoco

大数据 信息技术

蓝易云 - ELK安装、部署、调试zookeeper安装,配置

百度搜索:蓝易云

Apache zookeeper Linux 运维 ELK

卷不动了!去香港工作可以重启人生吗?

王中阳Go

Go 面试题

企业全历史行为数据 让你对竞争对手的一切清清楚楚

客户在哪儿AI

ToB营销 ToB获客 ToB增长 大客户营销

解读MySQL 8.0数据字典缓存管理机制

华为云开发者联盟

MySQL 数据库 华为云 华为云开发者联盟 企业号2024年7月PK榜

在 JeecgBoot 项目中基于 Vue 3 配置多页面入口

JEECG低代码

前端开发 Vue3

【YashanDB知识库】收集分区表统计信息采样率小于1导致SQL执行计划走偏

YashanDB

yashandb 崖山数据库 崖山DB

在MoneyPrinterPlus中使用本地chatTTS语音模型

程序那些事

工具 程序那些事 AIGC MoneyPrinterPlus

谷歌DeepMind被曝抄袭开源成果,论文还中了顶流会议

Openlab_cosmoplat

人工智能 开源 ChatGPT

大模型落地,「city不city」?

白洞计划

AI

蓝易云 - 互联网发展跨境电商企业建站云服务器应用优势

百度搜索:蓝易云

云计算 运维 服务器 云服务器 高防服务器

蓝易云 - Linux系统:CentOS 7 CA证书服务器部署

百度搜索:蓝易云

云计算 centos 运维 云服务器 CA

田间地头“有智慧”,华为云助力盈禾嘉田打造病虫害防治新模式

华为云开发者联盟

人工智能 机器学习 华为云 华为云开发者联盟 企业号2024年7月PK榜

企业数字化转型成刚需 协同管理行业步入黄金发展期

快乐非自愿限量之名

数字化 数字经济 企业转型 协同办公

在线PDF转PPT软件!这2款AI工具值得推荐!

彭宏豪95

职场 PPT 办公软件 效率软件 AI生成PPT

蓝易云 - PHP用CURL发送Content-type为application/json的POST请求方法

百度搜索:蓝易云

php 云计算 运维 post

蓝易云 - ubuntu镜像更新时出现E: Problem executing scripts APT::Update::Post-Invoke错误

百度搜索:蓝易云

Linux ubuntu 运维 报错 云服务器

一群追星星的人,对AI的盼与怕

脑极体

AI

TON钱包选择全面资产保护教程,bitget钱包

BlockChain先知

好用的Mac应用程序清理卸载工具:App Cleaner & Uninstall

你的猪会飞吗

Mac 软件

人工智能与机器人学:智能自主系统的融合与未来

天津汇柏科技有限公司

人工智能 机器学习人工智能

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