项目推出:针对WLS 7和8.1的COMMONJ WORK MANAGER
线程,总是让我们对它又爱又恨。有时候我们的工具不支持使用它。Eugene Kuleshov喜欢线程,因为它可以提高应用程序的响应灵敏度和效能。他遇到的问题是,他使用的是WebLogic Server(WLS) 7和8.1,因此不能使用WLS 9的特性来轻松地通过CommonJ及其Timer和Work Manager来安排线程。
在大部分用途中,应用服务器都在一个会话中关联一系列组件到一个线程。在J2EE 1.3中,要获得多个线程,需要使用消息驱动bean (MDB),但是如果只是要获得一些并行线程,那就完全是另外一回事了。解决方案就是CommonJ框架,该框架是IBM和BEA合作的产物。但是,问题在于,该规范只在WLS 9中实现,而以前的版本或J2EE 1.3都不支持。对于Eugene Kuleshov来说,明摆着,下一步就是将这个开放规范拿过来,然后在WLS 7和8.1中实现它。其结果对于其他J2EE社区非常重要。因为一旦成功,其他J2EE 1.3实现也可以做同样的事情。
因为还有很多J2EE实现或者运行的是以前的版本,或者还没有从WLS 9获益,所以这个项目就非常重要。因为该项目的代码已经达到一种稳定的版本,我们就让它在社区中推出了。为了了解Eugene Kuleshov、他的项目及其未来的发展,我对他进行了一次采访。下面就是这次访谈的记录:
项目推出访谈
项目名称:CommonJ Work Manager for WLS 7 and 8.1
项目链接:https://xcommonj-work.projects.dev2dev.bea.com/
拥有者姓名:Eugene Kuleshov
拥有者所在国家和城市:加拿大,多伦多
Daniel Brookshier问:请您介绍一下自己,以及您目前正在做什么。
Eugene Kuleshov答:我是一个Java/J2EE顾问,我有十几年的软件开发经验。除了J2EE,我对AOP、动态语言和JVM内部组件包括字节码装置也特别感兴趣。我也是ASM字节码操作框架(Terrakotta、AspectWerkz和CGLIB中所使用的,也是Hibernate和其他框架的核心)的捐赠人之一。下面这个页面上是我所写的Java方面的文章:http://www.jroller.com/page/eu。我唯一可算作爱好的是摄影。
问:请谈谈您的项目。
答:在EJB/J2EE的限制下(例如,不要创建新线程),为一个以前的但却得到广泛使用的WebLogic Server版本提供标准的API是一个有趣的挑战。项目代码起源于我开发的一些现实J2EE应用程序,而且看起来它作为一个独立的模块也很有用。
(下面的内容来自项目主页:)
Work Manager为支持应用服务器的工作项的并发执行提供了一个简单的API。它使基于J2EE的应用程序(包括Servlet和EJB)可以安排工作项进行并发执行,从而提高吞吐量,并减少响应时间。更多详细信息和例子请参见下面这篇文章:Parallel task execution in J2EE using the Work Manager specification。
该组件使用标准的J2EE服务实现了一个Work Manager API,可以用于在运行在WebLogic 7或8.1上(事实上在其他J2EE 1.3服务器上也可以)的J2EE应用程序中安排并行任务执行,同样的API在WebLogic 9中会开箱即用地提供。
该应用程序也是WebLogic的不太有名的特性的一个例子。
问:为什么说这个项目对J2EE开发人员非常重要?
答:当您要在苛刻的性能要求下构建J2EE应用程序时,会面临许多挑战,这时您就会发现并行后台/异步处理的好处了。遗憾的是,J2EE环境中惟一的异步特性是消息驱动bean (MDB),但是使用MDB即使表示执行两个并行任务的简单场景也需要很多粘合代码。CommonJ Work Manager API旨在通过提供简单的API来填平这个鸿沟,我的项目将其引入以前的WebLogic Server版本,并隐藏了有关MDB、消息等等的所有细节。
问:该项目的现状如何,它的未来规划是什么?
答:该项目的目标是提供Work Manager API实现,这个目标已经实现了。如果存在bug的话,我们会进行修复。我们可能会提供更多在现实应用程序中使用该代码的指导。
问:当该项目从它的WebLogic稳定版本迁移到其他服务器上时,您需要什么帮助吗?
答:在其他J2EE容器(如:Orion、Jboss、Geronimo等等)上运行该代码会很有意思。需要有一些补丁,我们非常欢迎这方面的捐助,或者提供有关如何在这些容器上部署和运行这些代码的指导原则。
问:这个问题是为了让我们做得更好:对于Dev2Dev和CodeShare社区和工具,您有什么建议?
答:CodeShare提供了一个很好的地方,使大家可以共享与J2EE平台相关或特定于WebLogic和其他BEA产品的开源代码。应该做更多的宣传,使开发人员社区都知道它。
- · WLS 9.1与MQ v5.3 通过JMS Bridge通信配置
- · 在Apache Xindice中保存XML文档
- · 升级到WebLogic 9的十大理由
- · 在JAVA EE环境下使用Kodo EJB
- · Weblogic Server 9新特性:J2EE Libraries 和 Optional Packages
- · WebLogic Server 9新特性:JSR-181 Web Services
- · WebLogic Server 9.0:JMS增强功能
- · WebLogic Server9.0产品重点新特性介绍
- · 在Spring中实现事务挂起
- · ALUI 界面深入客户化——替换Portal内置组件
- · ALUI在解决企业门户上的优势
- · AquaLogic User Interaction开发入门
- · 添加协作服务
- · 使用WebLogic SIP Server和WebLogic Workshop驱动Cantata媒体服务器
- · 深入Beehive标签库系列教程 - 前提条件
- · 深入Beehive标签库系列教程(1) - 基本NETUI标签
- · 深入Beehive标签库系列教程(3) - 表单标签:单选框
- · 深入Beehive标签库系列教程(5) - 表单控件:下拉框
- · 深入Beehive标签库系列教程(6) - 使用标签遍历数据
- · 赢得网络服务开发人员的三大…
- · 大规模的财政应用和面向服务…
- · BEA实现了新的Web服务标准
- · 赢得Web服务开发者青睐的“…
- · 第11步:运行Request Quote…
- · 第10步:将报价从工作流发给…
- · 第9步:将报价写入文件系统
- · 第8步:创建报价文档
- · 第7步:设计并行执行路径
- · 第5步:创建一个Perform节点
- · RFID基础知识
- · RFID应用趋势分析
- · 如何实现与沃尔玛等巨头进行RFID对接
- · RFID项目常见问题分析
- · RFID应用架构规划指南
- · 解析EPCglobal物联网技术之ONS服务
- · RFID-企业软件的下一座金矿
- · BEA邮政行业RFID解决方案
- · 使用WebLogic SIP Server和WebLogic Workshop驱动Cantata媒体服务器
