写点什么

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

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

关注

评论

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

星环科技 TDH8.1.0:全新升级为用户带来极致体验

星环科技

大数据

python入门难?十之八九是因为python 协程吧!

梦想橡皮擦

12月日更

前端开发框架react 之UmiJS

@零度

大前端 React

开源机器学习数据库OpenMLDB贡献者计划全面启动

第四范式开发者社区

第四范式 开源社区 OpenMLDB 机器学习数据库 贡献者

【分布式技术专题】「OSS中间件系列」Minio的Server端服务的架构和实战搭建

洛神灬殇

OSS Minio Minio 集群 12月日更 FS

2021 China DevOpsDays演讲实录

homber

DevOps DevOpsDays 签约计划第二季

基于HTML、CSS和JS的年龄计算器

海拥(haiyong.site)

html 大前端 28天写作 签约计划第二季 12月日更

TDengine在雷达台站运维管理系统中的落地实践

TDengine

数据库 tdengine 时序数据库

Hadoop完全分布式安装部署

编程江湖

大数据 hadoop

服务端质量保证体系(二) 流水线标准化建设

homber

服务端 CI/CD 流程 质量保证 签约计划第二季

Apache ShenYu源码阅读系列-注册中心实现原理之Http注册

子夜2104

QA进阶成长感悟录

homber

成长 内容合集 签约计划第二季

企业如何做好员工安全意识提升

腾讯安全云鼎实验室

服务端质量保证体系(三) CI原子能力建设

homber

ci 服务端 质量保证 签约计划第二季

Go语言学习查缺补漏ing Day3

恒生LIGHT云社区

Go 编程语言

少儿春晚表演

Tiger

28天写作

Redis 分布式锁的正确实现原理演化历程与 Redisson 实战总结

码哥字节

redis RedLock redisson 分布式锁 签约计划第二季

云原生时代的"应用级"多云管理

北京好雨科技有限公司

云计算 Kubernetes 容器 多云管理

编程谜题:提升你解决问题的训练场

华为云开发者联盟

Python 编程 编程语言 代码 编程谜题

大数据开发之数据读取—Pandas vs Spark

@零度

大数据 spark pandas

Linux一学就会之Centos8软件包的管理和安装之yum管理软件包

学神来啦

Linux centos 运维 rpm yum

换个角度思考勒索攻击事件

华为云开发者联盟

漏洞 勒索 攻击 安全检测 蜜罐检测

Redis 很强,不懂使用规范就糟蹋了

码哥字节

redis Redis开发规范 签约计划第二季

服务端质量保证体系(一) 全流程规范管理

homber

服务端 流程 质量保证 签约计划第二季

图数据和知识图谱,数字化转型的新引擎

星环科技

图数据库 知识图谱

Redis 核心知识点归纳总结,从根上理解 Redis

码哥字节

redis Redis 核心技术与实战 签约计划第二季

恒源云(GPUSHARE)_云GPU服务器如何使用PyCharm?

恒源云

深度学习 gpu 算力加速

「Oracle」Oracle 数据库备份还原

恒生LIGHT云社区

数据库 oracle

一文讲透数仓临时表的用法

华为云开发者联盟

数据库 sql Local GaussDB(DWS) 临时表

入驻快讯|欢迎字节跳动终端技术团队正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

入驻快讯

为什么要做团建TB?(6/28)

赵新龙

28天写作

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