2

如何将 play 2.1 Web 应用程序部署到 oracle weblogic 10.3?

Weblogic 在 windows server 2008 r2 上运行。

我的应用程序有网络套接字,我知道它们在部署时存在问题。

编辑:

我了解 servlet 3.0 不支持 Web 套接字。如果是这样,Play 在自己的服务器上运行什么?

4

2 回答 2

6

Play 不是 Java EE 框架。它不使用 servlet,也不本地部署到应用程序服务器。相反,它带来了自己的完整堆栈。您只需独立运行应用程序,无需任何外部应用程序服务器。(将您的 Play 应用程序放在负载平衡网络服务器后面是很常见的,但这不是现在的重点。)

虽然有一个插件可以让你将 Play 应用程序捆绑到一个 war 中,但我不确定它对你的情况有多大好处。它没有在 WebLogic 上进行测试。此外,这是更根本的问题:如果我没记错的话,WebLogic 10.3仅支持 servlet 规范 2.5,而Websockets 仅从 servlet 3.1 开始可用。因此,无论 Play 是什么,您的计划都行不通。

编辑:

关于您的编辑:这里似乎仍然存在误解。Play不是Java EE 框架。它不使用servlet。它不会其应用程序打包为战争,并且不需要应用程序服务器进行部署。Play 带有自己的基于Netty的网络服务器。这个内置的网络服务器支持 Websockets 和所有 Plays 功能。

我检查了play2-war-plugin的来源,看起来Servlet 3.1 is not (yet) supportedWebsockets 也是如此

总结一下:不,目前还不能编写使用 Websockets 的 Play 2 应用程序并将其部署到 servlet 3.1 容器。

于 2013-07-17T07:04:28.770 回答
1

在 play1.x 中,我们可以将项目打包成一个战争,play war但是 Play 2.x 不允许这样做。您可以使用外部插件 https://github.com/dlecan/play2-war-plugin将您的应用程序打包到来自 Play 框架 2 的标准 WAR 包中。

于 2013-07-17T06:50:25.290 回答