Atomikos 公司的 TransactionEssentials ,一个基于 Java 的事务管理器,刚刚发布了 3.2.0 版。InfoQ 与 Atomikos 的 CTO Guy Pardon 探讨了这个版本以及 TransactionEssentials 和其他第三方事务管理工具。Pardon 介绍了 TransactionEssentials 的主要特征:
- JTA/XA 事务管理 —— 提供事务管理和连接池
- 不需要应用服务器 —— TransactionEssentials 可以在任何 Java EE 应用服务器中运行,也就是不依赖于任何应用服务器
- 开源 —— TransactionEssentials 是遵守 Apache 版本 2 许可的开源软件
- 专注于 JDBC/JMS —— 支持所有 XA 资源,但是资源池和消息监听是专供 JDBC 和 JMS 的
- 与** Spring 和 ** Hibernate 集成 —— 提供了描述如何与 Spring 和 Hibernate 集成的文档
Pardon 还提到 Atomikos 公司的 ExtremeTransactions 是基于 TransactionEssentials 之上的,增加了对非 XA 事务的支持,在 servlet 容器中提供了图形化管理控制面板。Atomikos 还提供了基于订阅的支持服务,一份订阅可以得到访问 ExtremeTransactions 中额外功能的权限。
当被问及为什么用户会需要一个外部的事务管理器时,Pardon 回答道:
让我反问一个问题:为什么你需要一个应用服务器?
基本上,应用服务器有一个要命的生产率问题(同时还是一个远古巨兽):你不得不部署一个打包的档案。这意味着无论你在部署前怎样测试,都是不完备的。这还意味着在部署期间出问题的风险很高。依我的愚见,这是一个极大 的生产率问题。
Pardon 继续说道,在很多情况下,一个应用服务器对于一个应用也许不是最佳方案 —— 他以 SOA/ESB 终端作为例子,阐述了通过 JDBC 来处理 JMS 消息可能是一个非常轻量级的可伸缩的方案。
关于 TransactionEssentials 的后继版本,Pardon 提到了更强大的 JDBC 和 JMS 连接池,支持 OSGi 和 JMX 事务管理工具,是计划中的 3.3 版的主要特征。Pardon 还说明为 JDBC 数据源和 JMS 连接器增加 JMX 是 4.0 版的目标。
查看英文原文: Atomikos TransactionEssentials: JTA/XA transaction management outside of Java EE
译者简介: 曹云飞,西安交通大学计算机软件硕士。现就职于 Ethos ,热衷于新技术的钻研,软件架构与敏捷开发,目前从事 Home Control 方面的工作。参与 InfoQ 中文站内容建设,请邮件至 china-editorial[at]infoq.com 。
评论