如何在 Play Framework 2 应用程序的生产模式下进行热重新部署?

Posted

技术标签:

【中文标题】如何在 Play Framework 2 应用程序的生产模式下进行热重新部署?【英文标题】:How can i have hot redeploy in production mode in play framework 2 apps? 【发布时间】:2014-10-11 17:26:08 【问题描述】:

我知道 play framework 2 支持开发模式下的代码热重载,我想知道 play framework 2 应用程序如何在生产模式下进行热重新部署? 是否有透明的方法来做到这一点?我可以接受使用负载均衡器或本机方法之类的方法。

【问题讨论】:

开发模式并不是真正的热重载。重新编译后服务器完全重启。 【参考方案1】:

负载平衡是游戏的自然选择,因为它是无状态的。您可以一次部署在一个实例上,只要其他实例处于 UP 状态,您的应用程序就会一直保持可用。

一旦部署的应用程序将其放回负载均衡器,最终用户将不会注意到任何中断

【讨论】:

【参考方案2】:

回答这个问题为时已晚,但使用远程调试器可以热交换 java 类

$ jdb -attach 192.168.2.241:9999
> redefine com.ClassName /path/to/project/target/scala-2.12/classes/com/ClassName.class

【讨论】:

以上是关于如何在 Play Framework 2 应用程序的生产模式下进行热重新部署?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jenkins 在本地自动部署 Play Framework (2.4) 应用程序?

如何在 play framework(scala) 2.4 中获取当前会话或请求对象?

如何在 Play Framework 2 应用程序的生产模式下进行热重新部署?

如何使用 Play Framework 2.0 下载文件

Play Framework 2.2 的邮件程序是啥?

如何在 Play!Framework WebSockets ("wss://") 中使用 TLS