将JSF / Seam / JBoss应用程序升级到更新版本

时间:2012-08-01 11:12:59

标签: java hibernate jboss seam icefaces

我正在为我们的应用程序创建升级路径,并且在此过程中出现了几个问题。我认为,我的配置经常在这种情况下使用,所以也许有人在此之前经历过这种情况。

简短应用说明:

  • JSF Web应用程序
  • ICEfaces作为JSF框架(实际版本1.8.3最新版本为3.1)
  • Seam作为EJB / View之间的连接(实际为2.1.1,最新为2.2.2或3)
  • 部署在JBoss 4.2.2.GA(最新版本为7.1)
  • 通过Hibernate / Seam EntityManager进行数据库连接

首先要升级什么?哪个更新可能甚至不是必要的?

以下是我的想法:

  • ICEfaces似乎大部分是无害的,只是替换jar并升级到JSF 2,应用程序已经使用了facelets而没有JSP应该让它变得更容易。尽管如此,它还是有效的,但似乎是前瞻性的

  • 像Hibernate这样的附加库随应用程序一起提供,但可以通过类加载到JBoss中进行集成,所以这应该不是问题。

  • 由于Seam3似乎是一个新的实现,我想留在2.X上下文中。 2.2.2似乎是合理的,并且存在迁移指南,但它似乎与JBoss AS紧密耦合。

这让我想到了主要问题:升级JBoss

最新的JBoss版本是7.1,我们使用的是4.2.2。这是版本号中相当大的一步,它似乎是一个复杂的部分。另外,Seam似乎在JBoss 7上遇到了一些问题.JBoss 6的初步升级似乎是进步之间的一个合理步骤,只是为了让事情更新一些。

有没有人在这里进行过如此大规模的升级进度,可以给一个新秀提供一些提示?也许有关已知陷阱和事情的一些提示(除了不断对现有代码库进行测试之外)

而且,通常情况下,在给定的J2EE上下文中,何时应该升级使用库(保留安全更新或主要错误修正)?

2 个答案:

答案 0 :(得分:1)

如果你经历了至少2.3的升级麻烦,它仍然处于测试阶段(我听说beta2,也许有缝隙支持)但是具有jsf2的2.2的所有功能并且在jboss 7上运行。从2.1升级到2.2并没有真正让你获得太多,2.2不能用jboss7而没有太多的工作而且没有jsf2,尽管它更容易转到2.2 / jboss5。

如果您正在考虑Seam3,请阅读this - 请改用Java EE / CDI 我会

开始研究maven

使用jboss工具和maven插件将eclipse升级到至少indigo

让Jboss 7运行起来 - 它与6之前的版本完全不同,但让它运行相对容易,困难的部分是弄清楚现在一切都在哪里。

重新配置您的应用程序以使用maven

将Seam 2.3库添加到您的应用程序

build - fix - deploy - fix

或剥离您的应用程序直到它工作,并一次添加一个组件。

Marek的2.3博客是here

祝你好运

答案 1 :(得分:0)

通过Hibernate / Seam EntityManager选择"数据库连接"使用JBoss 7正确运行第一优先级和测试数据库操作因为JBoss 7与旧的JBoss版本完全不同。并尝试将Seam作为EJB / View"之间的连接。部分。要更新的最后一部分是" ICEfaces作为JSF框架"。