2012-04-20 96 views
8

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

那么值得吗?

谢谢

回答

12

我们目前处于相同的情况。

似乎有一个积极的一面的东西很多:

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

的事情,我们还需要寻找到空:

  • 我们有点担心的Infinispan性能。我们目前使用JBoss Cache的TreeCache API。虽然Infinispan有一个适配器提供相同的API,但一些理论测试显示写入性能较差。这仅适用于Infinispan的树API。
  • 的ExternalContext不再支持,我们目前使用它来填充JNDI树从.bindings文件
  • JMX控制台走了,如果您有任何建立在这一点,需要适应,编辑有实际上有一个JMX控制台可用的端口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控制台脚本。

更新2

  • 没有使用EJB远程通过SSL当是deadlock。即使在EAP 6.2中也存在这种僵​​局。我们现在处于这样一个阶段,我们有一组补丁从WildFly返回到AS 7.
1

是否所有的工作都在JBoss 5.1.0上?你的表现是你可以忍受的吗?

我目前正处于从JBoss 5.1.0GA升级到JBoss 7.1.1的过程中,它并不容易。你基本上升级到一个新的应用程序服务器。您需要为我猜测的这项工作预算许多美元。尽管如此,JBoss 7.1.1与5.1.0相比非常快(至少启动时间)。我认为在未来6个月(或多或少),大多数“硬”迁移和转换问题将在jboss论坛或通过错误修复得到充实。此时,如果您想进行迁移,您和您的团队可以重新评估。

祝你好运!

1

如果您使用的是SSL,升级的一个好处是JBoss 7.1.1运行在jdk 1.7上,它支持TLS 1.1 & 1.2,而jdk 1.6只支持TLS 1.0。 JBoss 5不能在java 1.7上运行,所以你很容易受到BEAST攻击。

1

无论如何,我会等一下。

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

WildFly 8.0.0.CR1已经到期了,这就是EE7服务器带给你一些新的有趣的开发机会,比如WebSockets和JAX-RS 2.0(http://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof)。新的管理功能,如单实例修补。而且不确定AS7到WildFly8将会是一个超级简单的迁移,因为引入了som主要的新东西,比如Undertow而不是JBossWeb/Tomcat。如果你得走了,你得走了 - 如果U放弃了死亡的7.x路径,不要忘记获得大大改进的7.2.0.Final标签(几百个问题比7.1更好0.1)。但是,如果您认为现在可以使用Beta/CR版本开始开发/迁移,并等待几个月以获得良好的生产稳定的WildFly 8.x.x版本,那么在下一次重大更新之前,您可能需要更长的时间。

br, Jens