JBoss应用服务器7中的Seam是什么?

9

JBoss AS 7支持哪个版本的Seam框架? 我计划使用Seam2.2.2,它是否与Jboss AS 7兼容?

2个回答

17

是和不是。

如果你想象一下Seam的时间线,答案就自然而然地出现了:

  • Seam 2.x的创建是为了简化针对Java EE 5的开发,并作为未来标准的孵化器,主要是Java EE 6和JSF 2
  • Java EE 6借鉴了Seam 2(和其他东西)的思想来指定CDI(以及改进JSF等API)
  • Seam 3为Java EE 6带来了新的想法,并作为未来标准的孵化器,主要是Java EE 7和JSF 2.x

是的,Seam 2与JBoss AS 7基本兼容。为什么?因为Java EE 6向下兼容Java EE 5。但是您将不得不处理一些问题,例如这个那个。我刚刚将一个Seam 2.x应用程序从JBoss AS 4迁移到JBoss AS 6,花了我大约一个月的时间。

不,不要在2011年使用Seam 2进行新项目。CDI比Seam 2双向绑定更成熟,JSF 2比JSF 1.2更容易,因此任何类型的应用程序开发都将更加有趣与Seam 3一起使用。最后,这一切都是关于在工作中玩得开心,对吗?


感谢您详细的解释。实际上,我们计划在 JBoss AS7 中部署 Seam 2.2.0 项目。目前该项目正在 JBoss 5.1 上运行。在进行迁移时,有一个困惑,即从以下选项中选择哪一项:1)Seam 2.2.0,2)Seam 2.2.2 和 3)Seam3。 - Anand
2
正如我所说 - 在Seam 2.2.2中是可能的(不是 2.2.0,据我所知),但需要付出努力。在此之前,您应该进行一些仔细的调查 - 您提出这个问题的事实意味着这仍然是一个待完成的任务。无论是什么原因促使迁移到JBoss AS 7,重写应用程序(或将其保留在JBoss 5上)可能会更容易和更复杂。 - Jan Groth
Anand:请记住,Seam3不是Seam2的下一代版本,它像MyFaces CODI一样是一个全新的实现。 - Dar Whi
我成功地在JBoss AS 7上部署了一个Seam 2应用程序。虽然花费了一些功夫,但我学到了很多。请查看jboss.org上的论坛。和你一样,我习惯于思考“seam应用程序”。J2EE是一个新世界,“seam应用程序”不再是这些事物的良好表述方式。更好的方式是思考J2EE 6应用程序。您可能会使用一两个seam模块,但当我们思考“seam应用程序”时,它所代表的核心即JSF和EJB之间的桥梁现在由weld实现。这是一种范式转变。5个月后的现在,您可能已经明白了这一点。 - april26
Jan:你的两个链接是一样的。 - exic
哎呀,我回答这个问题已经快一年了,AS 7.1 已经发布有一段时间了 - 我相信现在有更加最新的信息可供参考... :) - Jan Groth

2
我可以讲述我的经验:我们最近将一个使用Seam 2.2.0 / JSF 1.2 / PrimeFaces 1.1 / JPA 1.0的项目从Jboss as 5.1迁移到了Seam 2.3.0 CR1 / JSF 2.1 / PrimeFaces 3.4 / JPA 2.0,并在Jboss as 7.1上运行。事实上,Seam 2.3分支是专门为支持JSF 2而开发的,并且“自然”地针对Jboss as 7。

我们的应用程序广泛使用“Seam应用程序框架”,迁移相对简单,您可以查看this获取说明。另一方面,正如上面已经提到的,对于新项目来说,可能会有更好的选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接