是否值得从JBoss 5.1升级到JBoss 7.1

时间:2012-04-20 15:16:37

标签: java java-ee jboss jboss5.x jboss7.x

目前我们的生产环境运行JBoss 5.1,我们一直在争论它是否值得迁移到JBoss 7.1。如果它是一个简单的服务器升级,那么它不会是一个问题。但是,不幸的是,我们必须改变配置,这需要付出一些努力。此外,我们的服务器在集群中运行,我读到JBoss 7.1有更多的集群支持。

值得或不值得吗?

由于

4 个答案:

答案 0 :(得分:13)

我们目前的情况相同。

似乎有很多积极的方面:

  • 我们必须一次迁移5.1。我们需要完整的配置文件,并没有那么多的OSS替代品(GlassFish和Geronimo)。由于PCI-DSS禁止我们使用EoL'd软件,因此仅此一点可能会出售迁移。
  • 配置更好,更简单。它不再分布在20个XML文件中,您可以在其中配置XML文件中的方面,但只有一个中心位置。所有端口都配置在一个中心位置,不再有一个转换server.xml的XSL文件。您可以在不知道类的实现细节的情况下理解配置文件。如果你从未配置过JBoss,那就很难理解了。
  • EJB远程处理不再使用每个套接字的线程。
  • 删除不需要的子系统非常容易。
  • 类loding模型看起来很清晰,你可以通过jboss-deployment-structure.xml获得很多控制。
  • EJB客户端库看起来更加清理。它从20个减少到10个JAR,其中一半甚至是OSGi捆绑包(我们的客户端是Eclipse RCP应用程序)。
  • 虽然我们对Java EE 6用@Singleton bean替换我们的一些SLSB并不太兴奋,而且我们的一些带有计时器EJB的SAR肯定看起来很有趣。
  • 启动速度更快,内存使用量更少(至少对于空服务器或小型部署)。我们尚未测试大型部署。
  • 默认情况下,deployments文件夹为空

我们仍需要研究的事情:

  • 我们有点担心Infinispan的表现。我们目前使用JBoss Cache的TreeCache API。虽然有一个适用于Infinispan的适配器提供相同的API,但一些理论测试显示出更差的写入性能。这仅适用于Infinispan的树API。
  • 不再支持ExternalContext,我们目前用它来填充.bindings文件中的JNDI树
  • JMX控制台已经消失,如果您有任何基于此构建的内容需要进行调整,编辑实际上有一个JMX-Console端口AS7-2227

我们不会在群集中运行,因此我无法对此发表评论。

对我们来说最大的努力可能是迁移所有与JBoss以某种方式交互的shell脚本(安装,集成测试......)。

<强>更新

我们已经迁移,绝对值得。以上几点的一些更新:

  • 即使是大型部署也很快,只需要很少的调整。
  • 集中式日志记录(Slf4j,JUL,JCL,Log4j,...)非常好。
  • 7.1有很多错误,它对我们来说无法使用,所以我们在7.2 / EAP 6.1上,并计划进入7.3 / EAP 6.2。仍有其公平的错误,但我们可以解决它们。我们特别期待管理界面的基于角色的访问控制,这将允许我们以最小的权限运行我们的脚本。
  • 不会有支持的GlassFish 4版本,它会在其上添加一个大问号以供生产使用。
  • EJB远程安全性的灵活性要低得多。我们不得不提出一些解决方法,因为之前我们正在混合经过身份验证和未经身份验证的EJB调用 - 这已不再可能。
  • 来自JBoss的JEE 6 BOM POM是一个混合包。理论上它很好,因为它管理所有JEE依赖项的版本。在实践中,artifactId中的版本坐标很糟糕,当我们迁移到JEE 7时会很烦人。当你想要为测试包含一个JEE API的实现时,它也没什么用。
  • Infinispan树API性能不是问题。
  • 我们用DMR脚本替换了JMX-Console脚本。

更新2

  • 在SSL上使用EJB远程处理时有deadlock。即使在EAP 6.2中也存在此死锁。我们现在正处于从WildFly向AS 7反向移植的一系列补丁功能的时候。

答案 1 :(得分:1)

JBoss 5.1.0上的所有内容都适用于您吗?你的表现是否可以与你一起生活?

我目前正处于从JBoss 5.1.0GA升级到JBoss 7.1.1的过程中,并不容易。您基本上是升级到新的应用程序服务器。你需要为这项努力预算很多钱。我猜。

说过JBoss 7.1.1与5.1.0相比非常快(至少启动时间)。我认为在接下来的6个月(或左右)中,大多数“硬”迁移和过渡问题将在jboss论坛或通过错误修复中充实。此时,如果您想进行迁移,您和您的团队可以重新评估。

祝你好运!

答案 2 :(得分:1)

如果您使用SSL,升级的一个优点是JBoss 7.1.1在jdk 1.7上运行,它支持TLS 1.1&amp; 1.2,而jdk 1.6只支持TLS 1.0。 JBoss 5将无法在java 1.7上运行,因此您很容易受到BEAST攻击。

答案 3 :(得分:1)

无论如何,我等一下。

AS 5是EE5服务器,AS 7.1是EE6服务器(2009年出现了EE6规范)。这对于一个出色的新运行时环境来说有很多工作,但它不会给你任何热门的架构可能性。

WildFly 8.0.0.CR1已经到期,而EE7服务器为您带来了许多新的有趣的开发可能性,如WebSockets和JAX-RS 2.0(http://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof)。新的管理功能,如单实例修补。并且不确定AS7-to-WildFly8将是一个超级简单的迁移,因为引入了主要的新东西,如Undertow而不是JBossWeb / Tomcat。

如果你要离开,你必须离开 - 如果你绕过死亡的7.x路径,不要忘记了你的手上有很多改进的7.2.0.Final标签(数百个问题比7.1更好)。 1)。但是,如果您认为现在可以使用Beta / CR版本开始开发/迁移,并等待几个月的生产稳定的WildFly 8.x.x版本,那么您可以在下次主要更新之前保持更长时间。

BR, 延