JBoss Seam 3.1.0.Beta3 发布

发布者:    |       Seam

我很高兴地宣布 Seam 3.1.0.Beta3 的发布。在详细讨论发布内容之前,让我们先看看所有的链接。

下载 Seam 3.1.0.Beta3 打包发行版

参考文档

API 文档

报告问题

Maven 用户 - 请更新您的seam-bom版本

   <dependency>
      <groupId>org.jboss.seam</groupId>
      <artifactId>seam-bom</artifactId>
      <version>3.1.0.Beta3</version>
      <type>pom</type>
      <scope>import</scope>
   </dependency>

有什么变化?

Solder

我们最大的变化是在 Solder 模块方面。由于这个库对于 CDI 扩展开发至关重要,我们决定将其作为 JBoss 的顶级项目。尽管进行了包名更改(从org.jboss.seam.solder更改为org.jboss.solder),但这种更改不会影响 Solder 在 Seam 中的使用方式——它仍作为 Seam 项目的组成部分进行分发,并将继续由 Seam 团队负责。

我们还审查了我们现有的模块,并决定 Seam Catch、Config 和 Servlet 模块对于几乎所有应用程序开发都是至关重要的,因此我们将它们的功能合并到了 Solder 模块中。这对每个人都意味着双赢,因为这意味着您作为开发人员需要担心的一些依赖项减少了(只需将 Solder 添加到您的项目中,您就可以免费获得所有这些附加功能),这对 Seam 开发团队来说也是好的,因为我们有 3 个更少的模块需要维护基础设施。

重要!请记住,在升级到 3.1.0.Beta3 之前,请从您的项目中删除 Seam Catch、Seam Config 和 Seam Servlet 模块。

日志记录

日志 API 也经历了实质性的改进,归功于 Ken Finnigan。由于它是 Solder 模块的一部分,如果您想在应用程序中使用类型安全的日志记录,您需要更新您的导入。要在您的项目中使用它,只需导入Logger

import org.jboss.solder.logging.Logger;

然后注入记录器到您的 Bean 中

@Inject Logger log;

就这么简单!

组合 jar

在Seam 3.0版本发布中,我们提供的一项功能是合并jar文件——这些jar库文件将模块的API和实现jar文件打包成一个单一的jar文件。我们逐渐意识到,尽管API/实现分离是个好主意,但合并/阴影jar文件给一些人带来了问题。因此,我们已经从所有模块中移除了合并jar文件,现在只提供独立的API和实现jar文件。为了保持向后兼容性,我们将实现jar文件的名称更改为与之前合并jar文件的命名对应。对此感到有些困惑?让我们通过一个例子来澄清;在3.0版本中,我们为Seam Persistence提供了以下jar文件:

  • seam-persistence-api.jar
  • seam-persistence-impl.jar
  • seam-persistence.jar

列出的前两个jar文件包含Seam Persistence模块的API和实现的接口和类。第三个jar文件(seam-persistence.jar)只是前两个jar文件的重包装——seam-persistence.jar包含seam-persistence-api.jar和seam-persistence-impl.jar中所有打包的内容。这样做是为了方便,如果您想使用Seam Persistence,则只需为项目添加一个依赖项——在您的Maven pom.xml中看起来是这样的:

<dependency>
   <groupId>org.jboss.seam.persistence</groupId>
   <artifactId>seam-persistence</artifactId>
</dependency>

与此相比,我们最新的版本中有什么不同

  • seam-persistence-api.jar
  • seam-persistence.jar

第一个jar文件,seam-persistence-api.jar保持不变。第二个jar文件,seam-persistence.jar现在是实现(之前称为seam-persistence-impl),第三个jar文件(之前称为seam-persistence.jar)现在已经不存在了。这意味着,如果您有对seam-persistence的现有依赖,现在它将是对实现本身的依赖,而不是对(之前)合并jar的依赖。由于实现具有对API的传递依赖,它将自动被拉入。我希望这已经解释得很清楚,如果您仍然感到困惑,请在评论中告诉我们!

有什么新功能?

我非常激动地宣布,这次发布增加了许多新模块。

Seam JCR

Seam JCR是CDI的一个便携式扩展,它允许您更轻松地与JCR(Java内容仓库)仓库一起工作。它目前支持Modeshape和Apache Jackrabbit。

Seam JMS

Seam JMS使JMS(Java消息服务)在CDI环境中更容易使用,并允许在JMS端点(如主题和队列)和CDI事件总线之间进行桥接。

Seam Social

社交网络来到Seam!Seam Social提供与Facebook、Twitter和LinkedIn的集成,允许您轻松地从基于CDI的应用程序中直接与这些服务交互。

Seam Mail

备受期待的Seam Mail模块从Seam 2版本中回归。此模块允许您从CDI应用程序中生成和发送电子邮件,与Seam 2不同,邮件模板不再基于JSF,而是基于Freemarker或Velocity,这意味着您可以在非JSF应用程序中使用它。我们仍在编写此模块的文档,所以我们请求您在此模块的CR1发布版准备好之前保持耐心。

接下来是什么?

在Beta3和CR1发布版之间,我们将有一个相对较短的开发周期,CR1的目标发布日期为10月18日。我们欢迎用户反馈,并鼓励您尝试Beta3并告诉我们您发现的问题。


回到顶部