Seam的新项目负责人Shane Bryzak上周在seam-dev邮件列表上宣布,Weld Extensions项目已被纳入Seam项目旗下,并更名为Seam Solder。今天我们宣布Seam Solder的第一个版本,3.0.0.Beta1

Seam Solder与其前身具有完全相同的宗旨和目标

一套用于开发基于CDI(JSR-299)的应用程序、框架和其他扩展的便携式CDI实用库

换句话说,这些都是你很可能最终不得不费力创建的通用工具。

为什么改变名称?

自从Weld Extensions首次提出以来,人们对它与Weld的不同之处以及与Seam项目如何搭配一直存在困惑。现在,这种区别更清晰了。

  • Weld:实现CDI,将其带到更多环境中
  • Seam 3:扩展并建立在CDI(以及其他好东西)之上

CDI是Seam 3的基础编程模型,但仍有空间为所有Seam模块共享的核心扩展和实用工具提供对齐和避免代码重复。这就是Seam Solder提供的内容。

名称的含义是什么?

我们选择“焊锡”,因为它是用于连接金属部件的合金的名称,但其强度不如焊接。例如,将模块固定到电路板上。尽管CDI扩展不需要焊锡,但它们将极大地受益于它提供的额外加固。

这不仅仅是为Seam!

焊料在缝外也有使用寿命。如果您正在构建基于CDI的项目,我们强烈建议您在花费时间编写自己的工具之前先评估焊料。焊料可以为您节省大量时间,并且您可以让您的扩展程序更快地工作。此外,我们相信我们能够在焊料中实现CDI的启动优化,这将立即为您提供好处。

关于迁移

我们并没有迁移所有Weld Extensions的资源,而是进行了彻底的分割(即,分支)。我们鼓励所有使用Weld Extensions的人切换到Seam Solder。如果您正在添加新功能或修复问题,除非有特定的原因您需要更新Weld Extensions,请将它们应用到Seam Solder。Weld Extensions实际上已经关闭。

Seam Solder为了与其他Seam模块保持一致,已经经历了一些其他变化

  • 使用seam-parent进行依赖管理和常见构建任务
  • 源代码分为API和实现两部分
  • 主版本号提升到3(Weld Extensions的主版本号是1)

切换到Solder对其他Seam模块有重要影响。我们需要更新每个模块以使用Seam Solder并发布该模块的新版本。这一步骤应该会很快完成,因为如果检测到类路径上有Weld Extensions,Seam Solder将阻止应用程序部署。

关于发布

所有资源都可以在Seam Solder项目页面找到。为了方便您,我已经在这里列出了关键资源。

与所有Seam 3工件一样,Solder发布到JBoss社区仓库。如果您正在使用Maven,这里是需要添加到您的POM中的依赖声明,以便在项目中包含组合的API和实现库

<dependency>
   <groupId>org.jboss.seam.solder</groupId>
   <artifactId>seam-solder</artifactId>
   <version>3.0.0.Beta1</version>
</dependency>

或者,您可以使用两个依赖声明,这样实现部分只在运行时使用

<dependency>
   <groupId>org.jboss.seam.solder</groupId>
   <artifactId>seam-solder-api</artifactId>
   <version>3.0.0.Beta1</version>
</dependency>

<dependency>
   <groupId>org.jboss.seam.solder</groupId>
   <artifactId>seam-solder-impl</artifactId>
   <version>3.0.0.Beta1</version>
   <scope>runtime</scope>
</dependency>

如果没有Pete Muir和Stuart Douglas的辛勤工作,这个项目就不会实现。还要感谢Shane Bryzak、Nicklas Karlsson、Lincoln Baxter III和Jason Porter对他们的贡献。

[ 组合JAR ] | [ 发行版 ] | [ JIRA ] | [ API文档 ] [ 参考指南 ] | [ 发行说明 ]

注意
需要注意的是,我们仍然有一些困难让Solder在GlassFish上工作。似乎有一些关于如何处理非bean存档中的扩展的混淆(请参阅GLASSFISH-14808),这是Solder为了性能原因而使用的一个功能。我们预计GlassFish 3.1将解决这个问题,但不太可能解决GlassFish 3.0.1的问题。

以及之后

对于Beta 2,我们计划整理测试套件、合规性、文档和验证。然后我们将朝着最终版本迈进。这一切都应该很快发生。

Seam Solder 还有很多令人兴奋的功能计划。如果您想参与其中,我们鼓励您查看 问题跟踪器 并找到您感兴趣的内容。如果您在编写自己的 CDI 扩展时发现需要一些常见功能,请考虑通过添加功能请求(以及补丁!)来分享。


返回顶部