为JavaEE选择开源应用服务器
我知道这可能是一个反复出现的话题,但我读了很多文章,我仍然有疑问。此外,我还想听听最近对此的看法 我的应用服务器的主要要求是:灵活的配置,支持大量并发用户。它将是一个移动通信行业的系统,因此它也必须具有高可用性为JavaEE选择开源应用服务器,java,open-source,jakarta-ee,application-server,Java,Open Source,Jakarta Ee,Application Server,我知道这可能是一个反复出现的话题,但我读了很多文章,我仍然有疑问。此外,我还想听听最近对此的看法 我的应用服务器的主要要求是:灵活的配置,支持大量并发用户。它将是一个移动通信行业的系统,因此它也必须具有高可用性 我将开发一个JavaEE应用程序,开源应用程序服务器是我唯一的选择。我在一个非常小的项目中使用了GlassFish,我非常喜欢它。如果你真的需要JavaEE(严格地说),那么JBoss是一个不错的选择。如果您不需要真正的JavaEE,那么使用Tomcat将为您提供良好的服务。Spring
我将开发一个JavaEE应用程序,开源应用程序服务器是我唯一的选择。我在一个非常小的项目中使用了GlassFish,我非常喜欢它。如果你真的需要JavaEE(严格地说),那么JBoss是一个不错的选择。如果您不需要真正的JavaEE,那么使用Tomcat将为您提供良好的服务。SpringSource还提供了企业版的Tomcat,并提供了名为的支持,如果您不需要真正的Java EE,这将是一个很好的选择。我实际上建议使用GlassFish。除了您熟悉的情况外,它还使用支持大量并发连接的NIO网络基础设施() 我们主要使用JBoss,我可以告诉你JBoss5也可以支持相当多的连接(据我所知,它还使用基于NIO的连接器) 还有一个名为的EJB容器,它是半开源的(基本上有开源版本和专有版本)。人们说它的性能很好,但我没有机会进一步调查 我的最后一点是,您确定要使用JavaEEEJB容器吗?我们实际上是从JavaEE EJB容器开始的,但由于我们的性能要求等原因,我们现在正尝试迁移到Tomcat+Spring。EJB对线程模型等有限制,如果您有web浏览器以外的客户端,这可能会成为不必要的限制 在JavaEE5之前,您只有用于执行定期任务的“TimerService”,以及用于执行异步任务的JMS,这是非常沉重的负担,可能会变得非常烦人 我目前的想法:
- 小型、快速启动且简单:码头
- 用户的知识库更大、更强大:Tomcat
- 再大一点,更多的功能,很好 企业支持,起步较慢:JBoss
这纯粹是基于我的个人经验,有点简单化——可以就此写一些书 如果你说的是全船Java EE,那么是玻璃鱼 GFv2.1坚如磐石,GFv3还不成熟,但提供了新的JavaEE6 积极开发,免费和商业支持,良好的论坛。Oracle已经发布了it路线图 它易于使用、易于配置、组织良好。很好的安慰 从it的不同方面(Metro、Grizzly、JAX-RS、NetBeans等)工作的人们提供了大量的文档和补充文档 NetBeans+Glassfish是一款无痛的开箱即用体验
提供集群和各种管理选项。如果您正在寻找Java EE服务器,基本上有两种选择:或者(Geronimo或Jonas只是有太小的社区,我不知道它们有什么重要的参考——这并不意味着没有——我不会选择它们)。两者都是严肃的平台,支持集群和HA,并已被用于构建大规模集群,并在必要时提供商业支持 现在,快速总结各种版本:
- JBossAS5.1:JavaEE5认证。支持,如果您不喜欢XML,则附带一个管理控制台(但还不支持通过控制台进行集群设置)
- GlassFish v2.1:JavaEE5认证。支持HA、群集(特别是群集设置,如果需要的话),这是一个很棒的CLI工具
- GlassFish v3:JavaEE6认证。非常新,不支持群集、集中管理。即将发布3.0.1版
- JBossAS6.0:JavaEE6认证。尚未达到普遍可用性。现在还不能说太多,M2可能不是最终版本的代表
- GlassFish v3.1:JavaEE6认证。将添加集中管理/群集、高可用性/状态复制等。将于今年发布。见官员
对于JBoss,请看一下Bela Ban在JBoss World 2009上的演讲(pdf)。同时检查来自的会话。对于玻璃鱼,请看一看它们的颜色,更具体地说,请参见。请联系Sun/Oracle和RedHat以获取更多参考资料。我建议您添加更多关于哪些是可取的、可接受的,哪些不是的想法。Resin旨在提供符合JEE 6 Web配置文件的产品。在任何情况下,确保应用程序在参考实现上完美运行都不是浪费时间。