【问题标题】:What are the benefits of JRebel? [closed]JRebel 有什么好处? [关闭]
【发布时间】:2012-09-12 17:32:46
【问题描述】:

我一直在检查 JRebel。根据他们的网站:

“JRebel 是一个任何 Java 插件,它通过将工作区中所做的更改重新加载到正在运行的 JVM 中来加速基于 JVM 的开发(Java、Scala、Groovy),无需重新启动或重新部署,保持编码时应用程序。”

这似乎与我们已经通过 Eclipse、Netbeans 和 IntelliJ 实现的目标相同:我们保存并立即部署我们的更改。 JRebel 会给我们带来哪些额外的好处?

谁能给我解释一下?

【问题讨论】:

  • JRebel 使用糟糕的类重载方法。因为我猜到了 JRebel 是如何工作的,所以我永远不会使用它。

标签: jakarta-ee jrebel


【解决方案1】:

IDE(Eclipse、NetBeans 或 IntelliJ)会自动重新部署应用程序(如果已配置),这不是即时的。基本上,只是自动化仍然会导致应用程序的真正重新部署,包括创建新的类加载器以及初始化过程中涉及的所有补充内容。

在某些情况下,IDE 与某些容器相结合可以保留会话状态 - 如果这对您有用,那就太棒了。如果没有 - 你去 - JRebel 就是答案。

在打包部署的情况下,构建阶段会增加,但使用 JRebel,您只需一次性消除所有这些。

【讨论】:

  • 您能否在stackoverflow.com/questions/35249234/… 上提供您的想法。我认为这个答案仍然无效,即Basically, it is just the automation that still results in real redeployment ..,因为我发现 Eclipse 重新部署现在真的很快
  • @emilly vanilla 重新部署仍然只是重新部署,无论它是由 Eclipse 还是任何其他 IDE 触发的。除非运行时的特定技术为 IDE(或任何其他工具)提供了特殊的钩子来触发并针对更新/重新部署速度进行了优化。
【解决方案2】:

某些更改无法重新加载,尤其是在更改 jar 文件类时,无需重新加载或重新启动服务器(无论您使用什么服务器)。它会自动更改服务器中已编译的类,并在您的类路径中自动重新加载。

当您在 IDE 中保存和刷新更改时,您基本上是在重建 war 文件并将其重新部署到服务器上。这个过程仍然会变慢,尤其是在重新部署具有多个 jar 文件和 war 文件的大型应用程序并且必须刷新所有类路径时。

【讨论】:

    【解决方案3】:

    JRebel 不是 一个 IDE 插件。 JRebel 预先捆绑了 Eclipse、IntelliJ IDEA、NetBeans 和 JDeveloper 的插件,但是,JRebel 代理被设计为与 IDE 无关,并且可以在 IDE 之外使用。

    如果您有疑问 JRebel 是什么,不是什么?这是一个链接,可以提供您正在寻找的所有答案:

    What JRebel is and what it is not?

    这是一个关于 JRebel 的视频:

    JRebel video

    【讨论】:

      猜你喜欢
      • 2014-02-24
      • 1970-01-01
      • 2010-10-10
      • 2012-06-05
      • 2011-04-26
      • 2011-01-03
      • 1970-01-01
      • 2013-08-16
      • 2015-03-24
      相关资源
      最近更新 更多