我应该使用哪个Java EE服务器?

时间:2009-08-04 01:37:04

标签: java java-ee

好的,这有点不寻常,因为任何Java EE容器都可以完成我想做的简单事情(XML处理,JPA,Hibernate,SOAP / REST Web服务等)。这仅供个人使用,更多是为了获得技能而不是完成基本功能。我有自己的Linux服务器(Ubuntu Jaunty x86_64)和商务级互联网,所以我可以安装任何东西。

我现在经常使用Tomcat,但是,我最近遇到了一些寻找特定Java EE容器(这违背了标准的目的)的工作的情况,当然也不是每次都一样。

所以我正在寻找的是一个Java EE服务器:

  1. 现在市场需求
  2. 免费(或
  3. 安装和部署应用程序不是太可怕(磁盘空间,时间)
  4. 在Ubuntu x86_64上运行
  5. 我已经能够收集到一些信息via Indeed's keyword search,这告诉我要远离Jetty / Glassfish,即使它们适合“轻量级”和“免费”。我还看到from this SO post WebSphere是一个很难部署/配置的膨胀软件,但我不知道这是准确的还是最新的。我喜欢Tomcat(完全FOSS,小巧,易于部署,大量的文档/用户),但它的需求量低于一些较大的男孩。

    那你建议我安装什么?提前谢谢。

6 个答案:

答案 0 :(得分:8)

我的个人推荐是JBoss。这不仅是一个可靠的服务器,而且还有其他JBoss平台和框架可以轻松集成到JBoss中。一个例子是JBoss ESB。

答案 1 :(得分:4)

我经常看到像JBoss和WebSphere这样的服务器(我现在已经和他们合作了5年),他们急于推出破解实施的产品。不幸的是,被破坏的部分可能非常小,但这将是你将要打破的目标。

Oracle Weblogic刚刚破解了MDB(注释)的实施。

如果你想要一台最符合Java EE 5标准的服务器,那么你会给你带来最少的心痛和非常有生产价值的东西,那就选择Glassfish,是的......使用Netbeans作为你的开发IDE。

答案 2 :(得分:2)

在JBoss上+1,这主要是我用于个人使用和工作的东西。我也使用过OC4J,发现它更难用,而且它的类加载机制更加挑剔,也许我只是习惯了JBoss。但肯定会有更多,更容易找到JBoss的社区支持。因此,如果您这样做是为了个人使用并且不会获得支持许可证,那么就会有更多的用户,如果/遇到问题,会有更多用户愿意提供帮助。

答案 3 :(得分:2)

我自己只是专业地使用过Tomcat。我已经将它用于我(迄今为止)三年职业生涯的更好部分,并且我没有遇到过配置或部署应用程序的许多问题。我使用Eclipse WTP为Java EE开发人员3.4(Europa)工作,并且主要使用ICEFaces开发JSF应用程序。我们使用Tomcat Web管理器为大多数小型项目部署,并通过Hudson部署更广泛的应用程序。

但请记住一些警告:

  • 我们托管了大约20个单独的Web应用程序,主要是带有一些旧JSP应用程序的JSF。
  • 我办公室提供的网络应用程序规模非常非常小。我们的部门目前支持大约20个独立用户,因此我们的大多数应用程序都不会收到大量的流量。
  • 我们的大多数Web应用程序都是处理器密集型的(即这是一个2GB的CSV文件......编写一个程序来计算居住在拥有3个或更多孩子的家庭中的人员总数......)每周或每天(甚至每年......)进行一次性运行。换句话说,“给我2小时的所有资源......然后我要去吃午饭”。
  • 我们的主要Web服务器是一个带有双核sparc处理器的Solaris 10机箱(我相信如果内存正常可用,时钟频率为1.8 GHz),内存为2GB(如果是DDR或DDR2则不记得)。

话虽如此,我确实注意到随着时间的推移,我们的应用程序环境可能与我们的应用程序代码有关,而不是Tomcat本身存在性能问题。我愿意打赌,问题与我们的处理逻辑和数据分配中的内存管理不良有关。我之所以认为这是因为在重新启动Tomcat时,我们的应用程序通常以令人难以置信的响应方式执行,但即使只是一两天,用户体验也会降低。

按照你的意愿去做。我们可能在最终处理了一些问题,但Tomcat本身在本地化环境中似乎非常有效。

答案 4 :(得分:1)

  我最近碰到了一些工作的情况   寻找他们正在寻找的地方   在特定J2EE中的经验   容器(打败整个   有标准的目的)和   当然不是每次都一样。

好吧,我想你有一半(半)自己回答了这个问题!如果您的主要目标是帮助您找到工作,那么您需要查看招聘人员在您所在地区所要求的Java EE容器。转到您最喜欢的招聘网站,在过去几个月内为您所在地区提供Java / Java EE工作,并计算每种Web容器。 (并且还计算未指定特定Web容器的作业。)

如果您的研究结果表明您需要学习WebSphere,那么您对此表示同情: - )

不要忘记,如果您在其他方面表现得足够好,那么“强制性”要求实际上可能并非强制性要求。这一切都取决于招聘人员可以找到的其他候选人。不要害怕说“你问X,但我有Y和Z,这表明我对这项技术有更广泛的经验”。

答案 5 :(得分:1)

Oracle正式停止支持Glassfish。在那里发现的所有错误(并且有相当多的错误)永远不会被修复。

Payara现在是最好的选择,因为它是Glassfish的克隆,但是仍然由Java社区开发。