【问题标题】:Rolling Upgrades and Dynamic Software Update for JVM / ScalaJVM / Scala 的滚动升级和动态软件更新
【发布时间】:2012-01-13 14:37:52
【问题描述】:

我找到了一些关于 Java 动态软件更新的旧文章:

Java 的动态软件更新:以 VM 为中心的方法 (2008)(参见 Citeseerx)

如何窃取 Erlang 的 Scala/Java 热代码更新?: http://scala-programming-language.1934581.n4.nabble.com/how-to-steal-Erlang-s-hot-code-update-for-Scala-Java-td1989938.html

在 Akka 页面上有一条关于 Typesafe 堆栈支持滚动升级的声明: http://akka.io/docs/akka/1.2/intro/why-akka.html 但我在 Typesafe 网络上找不到任何信息。

K-Splice for Linux Kernel 似乎被广泛用于 Linux。

我还发现了一些关于 Tomcat 支持替换代码的注释,但据我了解,这似乎适用于“无状态”代码,并不真正适用于其他类型的系统。

我假设 OSGi 包和类似系统可用于在模块化级别上替换代码。但也不是我真正想要的。

Scala 和其他 JVM 语言有哪些选择?就 DSU 而言 - 单机系统以及大型集群/云部署系统的动态软件更新。

与其他语言(如 C/C++)相比,我发现 JVM 的这方面信息相对较差,但我认为 JVM 语言应该更简单。

我认为 Erlangs 更新系统之类的东西对 Scala 有用,但还没有找到。

-丹尼尔

【问题讨论】:

    标签: scala upgrade


    【解决方案1】:

    听起来您会想要研究OSGi,它是正在运行的 JVM 中可更新模块的标准。

    【讨论】:

    • 在问题中指出 OSGi 捆绑不是我所追求的 - 但是您给出的答案建议 OSGi 捆绑...
    • 老实说,我错过了这一点,但是您要求提供一个功能,然后几乎忽略了唯一具有该功能作为其主要功能之一的东西。在所有语言中,由于语言的复杂性和它所利用的 JVM 的功能,Scala 也是最不可能与执行此操作的东西一起工作的语言。
    【解决方案2】:

    JRebel 有很多用途 - 如果您使用 Scala,它们会提供免费许可证: http://zeroturnaround.com/jrebel/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-01
      • 2010-10-12
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多