【问题标题】:Is it possible to integrate play framework 2.0 with an existing web application?是否可以将 play framework 2.0 与现有的 Web 应用程序集成?
【发布时间】:2012-04-18 14:44:38
【问题描述】:

我们有一个现有的大型 Java Web 应用程序,我想向其中添加播放框架 - 这可能吗?如果可以,是否有任何指示如何做到这一点?

该应用程序是一个我们希望迁移到 jboss 的门户应用程序——我们将在 jboss 应用程序服务器上添加一个门户网站(liferay 或 gatein)(因此游戏需要与上述所有内容一起“玩” )。

【问题讨论】:

  • 请考虑阅读赏金信息。

标签: web-applications jboss playframework portal


【解决方案1】:

对于您的门户项目,Play Framework 可以作为后端服务帮助您聚合数据或为您的门户处理一些分布式和计算任务。

Play Framework 使用 Akka (http://akka.io) 非常强大。 Akka 可以帮助您以非常简单和易于管理的方式处理复杂的计算或任务。例如,如果您的门户连接到多个第三方 Web 服务来为您的用户获取数据,Play 和 Akka 可以很好地处理这个问题。使用 Akka Actor,您可以同时从第三方 Web 服务获取数据,作为回报,只需一次调用即可合并这些数据并服务到您的门户。

简单地说,您可以让 Play 和 Akka 做他们擅长的事情,并将您的门户网站与实际上与您的业务逻辑无关的任务隔离开来。

有一个名为 Let It Crash (http://letitcrash.com) 的博客,其中有一些关于如何使用 Akka 的非常好的场景。

有些帖子可能会为您提供更多关于如何与您的平台集成的想法:

http://letitcrash.com/post/66094078446/presentation-scaling-out-with-akka-actors

http://letitcrash.com/post/30509298968/case-study-an-auto-updating-cache-using-actors

【讨论】:

    【解决方案2】:

    使用 play 1.2.4 你可以制作一个 .WAR 文件并将这个 .war 文件放在 JBOSS 的 deploy 文件夹中。但是新版本(2.0)还不支持.war文件:https://play.lighthouseapp.com/projects/82401/tickets/8-war-packaging

    所以唯一的选择是将它放在 JBoss 文件夹之外并作为独立运行它。然后,您将播放应用程序的 URL 集成到门户的某个位置。这就是你所说的“整合”吗?

    【讨论】:

    • 您好,感谢您抽出宝贵时间回答。通过集成,我的意思是它们都在同一个 jboss 安装中运行。我认为我无法获得单独安装游戏的批准(根据权力。)我知道 1.2.4 版本和战争,我试图用 2.0 做类似的事情,但意识到2.0 版本不支持 servlet api。而且我确实看到了您的票 - 但它提到在 2.1 版本中对 servlet api 的支持也值得怀疑 - 您是否知道未来版本是否有计划支持它?
    【解决方案3】:

    好吧,您不能将play 容器放入JBOSS 容器中,但实际上可以将您在JBOSS 容器中的Java 代码放入play 容器中。您必须为 JBOSS java 代码创建路由和控制器,并将 java 代码放在 app 目录下。然后,简单地在游戏中编译它。

    最后,您可以使用play dist 命令分发您的独立容器。

    http://www.playframework.com/documentation/2.2.x/ProductionDist

    【讨论】:

    • 感谢您的回复,但第一件事是大多数应用程序依赖于 JEE 服务,第二件事是它们无法重构以适应某些 mvc 框架。
    • Np,你不是在挤奶吗?
    • 挤奶是什么意思?
    • 这意味着你对这个问题给予了赏金,并且你有能力并且你正在使用它来对你从 SO 用户那里得到的几个答案非常挑剔/选择性。
    • 确实我需要一个解决方案,而不是猜测:D
    【解决方案4】:

    Play Framework 使构建 Web 应用程序变得容易:

    Play 提供了一个命令来简化 Eclipse 配置。要将 Play 应用程序转换为可工作的 Eclipse 项目,请使用 eclipsify 命令:

    [My first application] $ eclipsify
    

    然后您需要使用File/Import/General/Existing project... 菜单将应用程序导入您的工作区(首先编译您的项目)。

    1. 您也可以使用 play debug run 启动您的应用程序,然后您 可以使用使用 Debug As 的 Connect JPDA 启动器来启动 随时调试会话。

    2. 停止调试会话不会停止服务器。

    使用 Play 2.0 RC2 和 Scala IDE 的解决方法 Scala 模板:

    1. 使用 ~run 运行您的应用程序以启用直接编译 文件更改。

    2. 这样 scala 模板文件会在您创建时自动发现 视图中的新模板并在文件更改时自动编译。

    3. 如果您使用正常运行,则必须在浏览器上点击刷新 每一次。 Play 团队将与 Scala IDE 团队检查此问题。

    4. 如果您对应用程序进行任何重要更改,例如 更改类路径,再次使用eclipsify 重新生成 配置文件。

    提示:在团队中工作时不要提交 Eclipse 配置文件!

    The generated configuration files contain absolute references to your framework installation. These are specific to your own installation. When you work in a team, each developer must keep his Eclipse configuration files private.source:

    https://github.com/skyluc/SandBox/wiki/play-2.0-in-scala-ide-2.0#configuring-scala-ide-for-the-play-20-web-application

    http://www.playframework.com/documentation/2.0/JavaHome

    http://www.playframework.com/documentation/2.0/Samples

    http://scala-ide.org/docs/tutorials/play/

    http://www.playframework.com/

    【讨论】:

    • @Stefoan,是的,你的权利,我浪费时间搜索表单网站在这里发布答案......
    猜你喜欢
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 2011-05-07
    • 2012-10-06
    • 2011-11-10
    • 2015-02-03
    相关资源
    最近更新 更多