如何关闭Scala快速编译服务器(FSC)超时?

时间:2010-12-13 07:01:00

标签: scala intellij-idea scalac fsc

我正在使用Scala编译服务器。这可能与我的IDE IntelliJ IDEA无关,但我只是通知您,我通过该IDE中的特殊运行配置启动Scala编译服务器。

经过一段时间没有编译任何东西,编译服务器终止,没有任何消息。通常,当我尝试编译某些内容并且编译失败时,我只会注意到这一点。然后,我需要再次启动编译服务器,当然下一次编译需要很长时间,因为它是自启动编译服务器以来的第一次编译。

如何关闭超时?我查看了scalac的联机帮助页,似乎没有选项。我可以为该运行配置添加VM选项。

2 个答案:

答案 0 :(得分:6)

我认为你不能。以下是编译服务器的代码片段:

object SocketServer
{
  // After 30 idle minutes, politely exit.
  // Should the port file disappear, and the clients
  // therefore unable to contact this server instance,
  // the process will just eventually terminate by itself.
  val IdleTimeout = 1800000
  val BufferSize  = 10240

  def bufferedReader(s: Socket) = new BufferedReader(new InputStreamReader(s.getInputStream()))
  def bufferedOutput(s: Socket) = new BufferedOutputStream(s.getOutputStream, BufferSize)
}

我认为你应该在scala-lang.org

中打开一个功能请求

答案 1 :(得分:6)

传递-max-idle 0作为参数。它将在最近的一个非常(非常!)上工作,它应该在Scala 2.9.0出现时可用。但是,不能保证名称在此之前不会改变。