使用JavaMail的Java EE 6 Application Server for Web Profile

ber*_*nie 5 java web-applications application-server java-ee java-ee-6

我有一个Java EE Web应用程序,它使用Java EE 6 Web配置文件+ EJB Timer服务和JavaMail中的功能.我目前正在开发期间使用GlassFish 3.1.2完整配置文件,但我想调查替代方案,因为:

  • GlassFish 3.1.2中的多部分表单似乎存在错误,而GlassFish 3.1.1还有其他问题在3.1.2中修复了.(捕获22 ...)该错误由票证中的jar修复.
  • 支持"网络配置文件"的应用程序服务器似乎有比"完整配置文件"更多的选项,前者应该更加轻量级.
  • 我想选择最佳的部署选项

我目前正在使用GlassFish的嵌入式应用程序服务器功能进行测试,因此需要任何替代方案的类似工具.在最坏的情况下,我可以使用嵌入式自动测试的GlassFish.

是否可以将JavaMail和EJB Timer Service实现模块"添加"到仅实现Web配置文件的应用程序服务器?它运作良好吗?如果无法做到这一点,是否有使用JavaMail和EJB Timer Service的替代方法?

您可以推荐哪些应用服务器符合我的要求?

最后,我考虑使用EJB的"异步调用"功能,它不是EJB lite的一部分.如果我理解正确,在Java EE容器中运行时手动启动线程是违法的.在这种情况下,如何在Java EE Web Profile中启动异步操作?

我仍然是整个Java EE生态系统和术语的新手,所以请不要犹豫,让我澄清我的问题的任何部分.

支持文档

编辑1

根据Apache TomEE文档,TomEE,TomEE +和OpenEJB符合该法案.

编辑2

根据AS 7.1发行说明,这个问题和JBoss AS 7.1.0 这个问题似乎实现了我需要的所有功能.

tom*_*tom 4

首先,我从未使用过 GlassFish,所以我无法向您提供任何相关信息。

我不确定您的应用程序是否是为真正的生产环境构建的,但 jboss 7.1 尚未提供任何官方商业支持,以防您遇到麻烦。

针对 JDK 6 优化的 Jboss 5.1 通过 Red Hat 提供商业支持。

话虽这么说,jboss 实例可以完全配置并且非常灵活。这意味着您可以从“网络”配置文件开始并添加/删除不需要的服务。(对于生产环境,始终建议删除未使用的服务。)

这是一个wiki,提供了有关在 jboss 5 中精简 jboss 配置文件的信息。它指示了删除服务所需的所有步骤。瘦身操作也可以逆转,因此您可以将您需要的任何内容添加到某个配置文件中。

所以基本上有两种方法:

  • 从“默认”或“全部”等配置文件开始,然后开始删除应用程序不需要的服务
  • 从“最小”或“网络”配置文件开始,然后开始添加应用程序中缺少的服务。您可以从包含服务的配置文件中复制服务。(我个人更喜欢这种方式)

不过,添加和删除服务可能是一项反复试验的工作。您需要在互联网上搜索您尝试添加或删除的服务的正确指南。(提示,始终在 AS 提供的配置文件副本上执行操作并记录每个步骤。这样,如果您做了一些看似不可逆转的事情,您可以重新开始。)

我希望这有帮助。