Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为JavaEE选择开源应用服务器_Java_Open Source_Jakarta Ee_Application Server - Fatal编程技术网

为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
所有这些都可以支持大型用户群,并且都可以很好地完成95%的用例

默认情况下,我会从顶部开始,随着您的情况/需求变得更加复杂(例如,您需要多少JavaEE支持),我会将列表向下移动

此外,如果您谨慎地不使用任何自定义功能,那么在以后的时间点上进行更改应该是相对简单的


这纯粹是基于我的个人经验,有点简单化——可以就此写一些书

如果你说的是全船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认证。将添加集中管理/群集、高可用性/状态复制等。将于今年发布。见官员
最后,如果项目在2011之前不投产,我会考虑java EE 6。如果没有,那么选择JavaEE5服务器。在任何情况下,你的选择都不能仅仅基于网络的观点。下载两台服务器,在两台机器上设置至少四个节点的集群(这是最低要求,如果可能,使用更大的集群),运行带有代表性的应用程序概念证明的基准测试。请不要犹豫,让JBoss和Oracle的人员参与进来,我确信他们会很乐意帮助证明他们的解决方案是最好的:)

工具书类
对于JBoss,请看一下Bela Ban在JBoss World 2009上的演讲(pdf)。同时检查来自的会话。对于玻璃鱼,请看一看它们的颜色,更具体地说,请参见。请联系Sun/Oracle和RedHat以获取更多参考资料。

我建议您添加更多关于哪些是可取的、可接受的,哪些不是的想法。Resin旨在提供符合JEE 6 Web配置文件的产品。在任何情况下,确保应用程序在参考实现上完美运行都不是浪费时间。