阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

OpenEJB 3.1 支持 EJB Singletons、构造器注入及 Spring 集成

  • 2008-11-17
  • 本文字数:1202 字

    阅读完需:约 4 分钟

最新版的OpenEJB(一个开源、轻量级的EJB 3.0 实现框架)支持 EJB 3.1 Singletons、构造器注入及与 Spring 框架的集成。Apache OpenEJB 开发团队上周发布了OpenEJB 3.1。该最新版的OpenEJB 支持EJB 3.1 的一些特性,它既可以作为独立服务器,也可以作为嵌入式服务器使用在 Tomcat JUnit Eclipse Maven Ant 及其他任何的 IDE 或应用中。 EJB 3.1 规范将作为 Java EE 6 (预计将在明年初发布)的一部分发布。

EJB Singletons:

EJB 3.1 的 Singleton 支持为 EJB 提供了更多的功能,如应用启动 / 关闭的回调及多线程能力。现在 Stateless beans 所能完成的大部分功能都可由一个多线程的 Singleton 完成。除了嵌入式 EJB 容器和 Collapsed EAR(.war 文件中的 ejb)功能(将成为 EJB 3.1 的组成部分)以外,该发布还支持新的 EJB 3.1 Singleton Session bean 类型。Singleton 特性确保应用中只会有一个 Stateless Session bean 的实例,它可被多个线程如 Servlet 并发调用。它可完成传统的 Session bean 所能完成的任何事情,如对本地和远程业务接口的支持、Web Services 及一些关注点,如安全和事务等。此外,可以使用 @PostConstruct (当应用启动时会被调用)和 @PreDestroy (当应用关闭时会被调用)来管理 Singleton 中定制的初始化和资源回收逻辑。这使其可以作为应用生命周期的监听器,而之前只有 Servlet 具备这个能力。它具有 @Startup 注解,在概念上这与 Servlet 很相似,但与 Servlet 不同的是它不以数字作为参数。相反,@DependsOn 注解可用来定义主 Session bean 需要哪些 Singletons,同时容器会确保在启动主类之前先启动依赖的类。

构造器注入:

构造器注入特性可以在构造方法级别使用注解对Java EE 资源如servlet、filter、listener 或JSF managed bean 进行注入。通过这种方式,开发者仍旧可以使用final 字段和普通的Java 构造方法来管理Java EE 组件的依赖,同时可以避免setters 和private 字段的注入。

Spring 集成:
Spring 集成特性可以使开发者将 Spring beans 嵌入到 OpenEJB 中,也可以将 OpenEJB 组件嵌入到 Spring 应用中。可以通过 @Resource 注解将 Spring beans 注入到 EJB 中,通过标准的 Spring依赖注入(DI)机制将 EJB 注入到 Spring 中。OpenEJB 3.1 中的该特性还处于试验阶段,会根据用户的反馈进行改进。OpenEJB 3.1 中还包含对现有特性的几个增强。列举如下:

  • 多路客户——服务器端的探知和分组
  • 支持对 JSF 1.2 Managed Beans 的注入
  • 可以在类路径下探知 EAR 式的模块集合
  • 可以通过类路径探知 ConnectorModule 和 PersistenceModule
  • 针对单元测试改进的 JavaAgent/JPA
  • SSL 上的 EJBd 协议
  • 基于 JDBC/DataSource 的登录模块

OpenEJB 项目团队已经发布了 Singleton API 的文档,同时还有几个示例,用户可以从中学到更多关于 Singleton Spring 集成等新特性的内容。

查看英文原文: OpenEJB 3.1 Supports EJB Singletons, Constructor Injection and Spring Integration

2008-11-17 08:23797
用户头像

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

关注

评论

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

运行时,物体移动旋转缩放插件,“RuntimeTransformGizmos插件”使用教程(Unity3D)

恬静的小魔龙

游戏开发 Unity 插件 虚拟仿真 游戏引擎

还在用 ListView?使用 AnimatedList 让列表元素动起来

岛上码农

flutter ios 安卓开发 跨平台开发 7月月更

还在被电影中吧爆炸的画面震撼?那你一定不要错过这款Unity的爆炸插件

恬静的小魔龙

Unity

想要制作沙盒游戏?那么这一款插件你一定不能错过(Unity3D)

恬静的小魔龙

Unity

易观分析《2022年中国数据安全市场数据监测报告》正式启动

易观分析

技术

你离「TDengine 开发者大会」只差一条 SQL 语句!

TDengine

tdengine 开源 时序数据库

个人实战经验:数据建模 “账户数据是属于维度还是账户域 ”

松子(李博源)

数据仓库 数据建模 数据中台场景实践

融云超级群的「新能力」

融云 RongCloud

ios Android;

hive数据导入:Python脚本

怀瑾握瑜的嘉与嘉

Python hive 7月月更

void 0 有什么意义?undefined竟然是可变的?

南极一块修炼千年的大冰块

7月月更

同城订单同城送,爆单依旧得心应手!

CRMEB

Spirng之Annotation注解与AOP使用

echoes

2022年中国人工智能产业生态图谱

易观分析

人工智能

EMQ映云科技荣登《中国企业家》2022年度“新锐100”榜单

EMQ映云科技

开源 物联网 IoT emq 7月月更

终于有人把操作系统、网络系统、线程进程、IO模型全部总结出来了

程序知音

Java 后端 操作系统 网络 TCP/IP

膜拜~ 终于拿到了美团老大哥分享的 Netty 源码剖析与应用 PDF

程序知音

Java 程序员 架构 Netty 后端技术

IP地址分类及范围

郑州埃文科技

IP地址 IP地址分类 IP地址范围

用Unity做仿真,这款图表插件我不允许你不知道

恬静的小魔龙

Unity

同构+跨端,懂得小程序+kbone+小程序容器就够了!

Geek_99967b

小程序容器

开发动态 | StoneDB 2022年版本发布里程碑

StoneDB

云原生 #数据库 大数据 开源 #开源

这次和GrowingIO工程师一起搞事情 | StartDT Hackathon

奇点云

饿了么为啥给你推荐这个?本地生活搜索算法解密

阿里技术

算法 性能提升

深入理解完美哈希

C++后台开发

hash 后端开发 C++后台开发 哈希函数 C++开发

带你认识8个软件设计中的谬误

华为云开发者联盟

后端 分层架构 开发

数字藏品系统开发——商城盲盒h5平台搭建

开源直播系统源码

数字藏品 数字藏品系统软件开发 NFT数字藏品系统 数字藏品源码出售 数字藏品交易平台开发

数字化转型失败的罪魁祸首是什么?

雨果

数字化转型 DaaS数据即服务

还在用Unity开发游戏?那你就out了,试试用Unity做一个答题系统吧

恬静的小魔龙

Unity

2022年中国第三方支付市场专题分析

易观分析

第三方支付

移动研发平台EMAS 3.0全新升级,欢迎登陆阿里云官网搜索EMAS进行体验

移动研发平台EMAS

阿里云 emas 移动测试 移动研发 产品架构

浅谈负载

Damon

7月月更

26岁从计算机视觉界“黄埔军校”博士毕业,他想为车打造一双慧眼

华为云开发者联盟

人工智能 计算机视觉 天才少年 激光感知

OpenEJB 3.1支持EJB Singletons、构造器注入及Spring集成_Java_Srini Penchikala_InfoQ精选文章