gpt4 book ai didi

playframework - 玩叉跑有什么作用?

转载 作者:行者123 更新时间:2023-12-02 04:00:33 24 4
gpt4 key购买 nike

我正在使用 play 框架,但遇到热插拔问题(甚至无法及时启动 sbt 服务器)

一些消息来源概述了这个问题与 play 的 fork 运行有关,要解决这个问题,应该将其设置为 false。

但是 play fork run 正在做什么以及关闭它有哪些缺点?

顺便说一句,这里有一些引用:

solution outlining fork run as culprit

another solution, same thing

最佳答案

Play fork run,是 sbt 的一个函数,其中 JVM 被 fork。 fork JVM 意味着 JVM 作为单独的 JVM 运行,并作为操作系统中的不同进程运行。

如果 JVM 未 fork ,则某些 JVM 范围内的设置(例如系统属性)可能会影响 Play 实例。优点之一是,当 fork 崩溃时,例如当您在多个 fork 中运行多个测试时,其他 fork 仍将继续运行。

在 play 的情况下,JVM 是 fork 的,因此它不会与 sbt 运行在同一 JVM 进程中运行。请参阅以下内容(来自 sbt documentation ):

By default, the run task runs in the same JVM as sbt. Forking is required under certain circumstances, however. Or, you might want to fork Java processes when implementing new tasks.

这很有用,因为如果您的 Play 实例崩溃,例如,当调用 system.exit 或发生未终止的线程时,sbt 将继续运行。否则 sbt 也会崩溃。

引用文献:
What does it mean to have a forked java VM?
Getting Started with SBT for Scala

关于playframework - 玩叉跑有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41384086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com