上周在twitter和博客上有很多关于Weld的性能和可扩展性的评论,我想对讨论的问题以及我们解决问题的努力发表意见。首先,我想说的是,我们一直在积极改进性能和可扩展性(之前主要关注内存使用,最近则更关注性能)。当然,我们主要与JBoss AS合作,但也与GlassFish团队紧密合作;许多改进将随着Weld在GlassFish中的更新而直接可用,我们也将继续支持GlassFish团队在GlassFish上进行的任何影响Weld的性能工作。

为了理解为什么我们没有在Weld 1.0中发布具有出色性能和可扩展性的版本(当然,我非常愿意这样做!),以下是几个值得注意的点。首先,Weld是Java EE 6中完全新的RI之一(其他还有Hibernate Validator和Jersey),其中Weld可能是最大的,并且肯定是最深入集成到Java EE其他部分的。其次,Java EE 6的发布截止日期(以及其RI的最终发布)非常紧张(CDI规范直到Weld 1.0发布前大约3周仍在进行重大修改)。第三,这是Java EE首次包含由Sun以外产生的RI,这些RI是完全开源的(规范、RI和TCK),这导致了两个不同团队合作时显然的调度问题,以及需要发明新的基础设施(例如,运行TCK的基础设施)。

所有这些因素加在一起意味着Weld 1.0版本主要关注实现CDI规范的完整功能,1.0.1版本再次专注于解决功能问题。1.1.0版本是我们审查Weld架构并调查内存使用和性能的机会,以交付一些真正出色的东西。

如果您对性能或内存使用有疑虑,并想帮助我们改进,我们可以运行一系列压力测试,这样您可以专注于寻找改进点。

我们将把Weld 1.1.0版本包含在JBoss AS 6.0.0中,并建议GlassFish团队将其包含在GlassFish 3.1中。

最后,当然如果您遇到问题,您应该在问题跟踪器中记录它们,或者最好查看源代码,看看是否可以帮助!


返回顶部