从Seam 2切换到普通JavaEE 6的最大变化(损失)可能是什么?

时间:2011-09-03 09:28:09

标签: seam java-ee-6 cdi seam2 seam3

问题几乎说明了一切,但显然我正在寻找在Java EE 6环境中可能会错过Seam 2的事情(“损失”)。

对于我的最新(小)项目JavaEE 6或更具体的JSF 2是修复要求,因此使用Seam 2不是一个选项(并且不会)。尽管有些人说要让Seam 2使用JSF 2,但我从未做过。到目前为止,我只使用了Seam 2,我担心切换到普通的JavaEE环境会带来比我目前所知更多的问题。

该项目具有以下基本/核心要求:

  • 基于角色和权限的安全概念(约50个用户)
  • JPA 2交易持久性
  • ...

其余部分将基于GUI,搜索表单,客户端验证等,将由RichFaces 4和JavaEE 6 bean验证处理。没有Web服务,没有安静的URL,没有消息,没有电子邮件。

我可以看到使用Seam安全性肯定是一种损失,但我不确定Seam持久性,实体/查询框架,JBoss EL等等,尤其是整体编程模型< / strong>(导航,EL,豆类)。请注意,我们将能够在有意义的时候添加Seam 3模块,因此您可以在“增益”部分的讨论中包含Seam 3。

那么,任何人都能清楚这一点吗? (它不一定是一个完整的总结,无论你想到什么,继续前进)

PS:我无法连接到Seam论坛所以我觉得我需要在这里问。

2 个答案:

答案 0 :(得分:5)

好的和可以理解的问题 - 我不明白为什么它被低估了。

我可以告诉您 - 以各种Java EE 5 / Seam 2和Java EE 6 / Seam 3应用程序为背景:

使用Java EE 6 / Seam 3无法解决任何问题,并且许多事情感觉很多更成熟(例如,类型安全CDI比Seam 2字符串更好基于组件,JBoss AS 7 比其他所有版本都好得多

但是:虽然Seam 2更像是针对企业Web应用程序中可能遇到的所有需求的一站式解决方案,但使用Java EE 6几乎肯定会让您从不同的模块中感到更加困惑< /强>

Seam 3是一个很好的开始,但它并不完全适合生产,至少在所有部分都没有。所以你必须处理仍然需要解决的问题和例外。这对Seam 2.x来说肯定是不同的,那里的道路铺好了。

没有相当于 Seam 2的集成导航/页面流概念。您必须使用JSF 2导航,或集成Drools或类似的东西 - 在您自己的

嵌套对话是您在Seam 2中可能喜欢的。在CDI中没有这样的东西 - 但是OpenWebBeans / CODI提供了一个很好的解决方案作为CDI扩展。

所有GUI内容(pdf,邮件,报告)正在Seam 3中进行 - 但还没有100%准备就绪(2011年9月)。这将在下一次改变 - 但是现在,你正在使用alphas和beta。

说完这个,这是我的建议:

尽快切换到Java EE 6 / CDI(并且可论证)。它是未来的。 : - )

答案 1 :(得分:1)

我经历过同样的经历。 Java EE在某些情况下是不够的,并不是这样。所以有CDI扩展。我几天前得知其他人也经历过同样的事情:

Java EE all you need

If its too easy to be true

如果您是Seam2用户,请使用Seam3(我认为他们计划再次提供类似的东西 - 只是对话非常糟糕)并帮助他们保持稳定,添加您错过的功能,...或切换到其他扩展。有很多例如我们更喜欢MyFaces CODI,因为它非常稳定和快速,并且他们的对话概念更好。还有一个非常开放的社区,他们也帮助很多,听取意见,......

问题不在于它是什么“何时可以在扩展中使用”。我想只要有人要求提供功能。