将 play 作为 war 文件部署到 servlet 容器中,即使它大量使用 JPA?

2023-11-24

我是个新手,事实上我现在就读到了有关它的内容,我应该说些什么......问题胜于问题。目前我正在启动一个项目,该项目依赖于许多特殊的java库(hibernate-spatial、jts等)。因为它还应该实现全面的 REST API,所以我必须在 Django 和经典的 JavaEE Glassfish 应用程序之间做出选择。

但现在我认为通过比赛我可以两全其美,我真的很想更深入地研究这一点。

我真的无法想象,play 的一个功能是将 play 应用程序作为 WAR 文件部署,甚至部署到像 tomcat 这样的简单 Servlet 容器。

那么,如果我的 Play 应用程序使用基于 hibernate/hibernate-spatial 的 JPA 持久层,仍然可以将其作为 WAR 文件部署到简单的 tomcat servlet 容器中吗?或者我至少需要一个 JavaEE 应用服务器吗?

我简直不敢相信...


Play 2 应用程序可以部署为war使用玩2战争插件。我自己没有这方面的经验,但目前看来这是一个可行的解决方案。根据我从论坛上读到的内容,WAR 包装应该仍然存在于未来版本中。

将 Play 2 应用程序部署为战争并没有什么特别之处。 Play 2 应用程序“只是”一个响应 HTTP 请求*的 Java 程序,就像任何 Java Servlet 应用程序一样。如果某个插件确保 servlet 容器响应的 HTTP 请求正确转发到 Play 2 应用程序,那么它可以在 servlet 容器中按原样*运行。

一般来说,Play 2 允许您使用几乎所有可用的 Java 技术。但是,由于 Play 2 应用程序本身并不在 servlet 中运行,因此它禁止您使用一组假设您使用 Java servlet 来响应请求的 Java EE 库。对于 Hibernate 或其他 ORM/数据库库来说这不是问题,但如果您的库需要访问 HTTP 通信(例如 Spring Web Security),那就是一个问题。

如果 Django 是您项目的一个选择,我怀疑您的 Java 需求是否包括这样一个特定的库。您还应该检查实际的 servlet 容器是否是您的应用程序所必需的 - Play 应用程序在没有容器的情况下也可以正常运行。

*我知道这是一种反常的过度简单化

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 play 作为 war 文件部署到 servlet 容器中,即使它大量使用 JPA? 的相关文章

随机推荐